在Swift中使用Cocoapods而不使用use_frameworks!

6
根据这篇教程,我们应该在Swift项目的Podfile中添加use_frameworks!。但是如何在同一项目的.m文件中使用第三方代码呢?
一种可能的方法是:
  • 不要在Podfile中添加use_frameworks!
  • ...-Bridging-Header.h中导入头文件
  • 然后,我可以在.swift和.m文件中使用第三方代码
但是当我尝试在...-Bridging-Header.h中导入头文件时,它会抛出*.h file not found错误,如何解决这个问题?
1个回答

12

过去

在 CocoaPods 1.4.x(含)之前,无法在 Swift 代码中使用 CocoaPods 而不使用 use_frameworks!

现在: 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 支持将 Swift 外部库集成为静态库。试一下(sudo gem install cocoapods),然后享受从 Podfile 中删除 use_frameworks! 的乐趣。


请注意iOS平台:

  • 苹果公司要求最低使用Xcode 10.1版本,只有CocoaPods 1.6.0及以上版本才能得到良好支持,因此不要使用旧版本的CocoaPods。
  • 苹果公司将在2020年4月要求最低使用Xcode 11版本,建议使用CocoaPods 1.7.5或更新版本,同时需要使用xcodeproj 1.13.0或更新版本。

为了与Xcode 11兼容,我只会使用CocoaPods 1.7.5或更新版本。 - Cœur

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接