在没有 use_frameworks 的情况下使用 cocoapods!在 Swift

Using cocoapods without use_frameworks! in Swift

根据this教程,我们应该在Swift项目中添加use_frameworks!Podfile。但是如何在同一个项目中使用.m中的third-party代码呢?

一种可能的方法是,

但是当我尝试在 ...-Bridging-Header.h 中导入 header 时,它只是抛出 *.h file not found 错误,如何解决这个问题?

过去

直到 CocoaPods 1.4.x(包括在内),如果没有 use_frameworks!.

,则无法将 CocoaPods 与 Swift 代码一起使用

现在:1.x.x 及以上

如今,使用 CocoaPods 1.x.x(我用 1.4.0 对其进行了验证),Swift 和 ObjC 项目通常使用 use_frameworks!:它允许混合使用以您想要的任何方式使用两种语言,没有问题:

  • 您将能够在 Objective-C 项目中使用 Swift 依赖项。
  • 您将能够在 Swift 项目中使用 Objective-C 依赖项。

现在:1.5.x 及以上

如今,CocoaPods 1.5.0 supports integrating swift pods as static libraries。尝试一下 (sudo gem install cocoapods) 并享受从 Podfile 中删除 use_frameworks! 的乐趣。


注意 iOS:

  • Apple 要求最低 Xcode 10.1,只有 starting CocoaPods 1.6.0 得到很好的支持,所以不要费心使用旧版本的 CocoaPods。
  • Apple 将在 2020 年 4 月要求至少 Xcode 11,为此我只会使用 CocoaPods 1.7.5 或更新版本,以及 xcodeproj 1.13.0 或更新版本。