Cocoa Touch Framework with CocoaPods dependencies



我正在尝试创建一个Cocoa Touch Framework

  • 我创建了一个Cocoa Touch框架
  • 我跑pod init
  • 我在其中添加了我们自己的CocoaPod,它本身也有一些依赖关系。
  • 我跑pod install.

现在,当我尝试构建框架(我打开.xcodeproj(时,每个依赖项都会收到以下警告。

ld:警告:找不到选项"-F/Users/jeroen/Library/Developer/Xcode/DerivedData/OurFramework-culynvrparvtfjbjlitmammotpkf/Build/Products/Debug-iphoneos/Alamofire"的目录

我收到以下错误:

ld:框架未找到 Alamofire
错误:未找到资源"/Users/jeroen/Library/Developer/Xcode/DerivedData/OurFramework-culynvrparvtfjbjlitmammotpkf/Build/Products/Debug-iphoneos/FirebaseFirestore/gRPCCertificates-Firestore.bundle"未找到。运行"pod 安装"以更新复制资源脚本。

我希望这是因为CocoaPod文件没有复制到正确的位置。这是对的吗? 无论如何,我能做些什么来使这项工作?

我想这样做的原因如下: 我有一个 CocoaPods 项目,这是一个常规的 Xcode 项目,只有 Swift 类和一些视图控制器。我们希望将其作为闭源提供。因此,我希望将这个 pod 包含在 Cocoa Touch Framework 中仍然可以让用户使用其 pod 的所有公共功能。 如果有其他建议,欢迎他们!

提前谢谢。

我得到的第一点是你在 pod 安装后使用了.xcodeproj。请注意,一旦你安装了 pods,就会创建一个带有扩展名的文件.xcworkspace你需要使用这个文件来打开项目,你未来的工作应该在这个文件中完成。

好的,所以我在设置它时遇到的所有问题似乎都与 Xcode 有关。 基本上,我为使其工作所做的

工作如下:
  1. 通过 Xcode 的 File > New > Project ... 创建一个 Cocoa Touch 框架。
  2. 使用终端,导航到框架的根文件夹(包含 YourFramework.xcodeproj -file 的文件夹(。
  3. 运行pod init .
  4. 将必要的CocoaPods添加到Podfile
  5. 运行pod install .
  6. 确保关闭可能在 Xcode 中打开的 YourFramework -项目。

从这里开始,我的问题开始出现。打开YourFramework.xcworkspace有效,但在 Xcode 的左侧导航器中,我只能展开 Pods 项目,而不能展开框架项目;它似乎是空的。建筑也不起作用。 要解决这个问题(所以,只是解决 Xcode 问题的常规步骤(:

  1. 关闭 Xcode。
  2. 删除派生数据。
  3. 再次打开YourFramework.xcworkspace
  4. 清理生成文件夹。

现在它可能会建立,也可能不会。就我而言,它没有,并且出现了 100 多个与 Swift 语言不可用相关的问题。我创建了一个没有任何源文件的框架,只是导入了CocoaPods。要解决此问题,请在导入至少Foundation的框架中创建一个 Swift 文件。

现在它应该建立起来了。

最新更新