具有CocoaPods依赖项的Cocoa Touch框架

时间:2019-08-07 11:20:01

标签: ios swift xcode frameworks

我正在尝试创建可可触摸框架

  • 我创建了一个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 install”以更新副本资源脚本。

我希望这是因为CocoaPod文件未复制到正确的位置。那是对的吗? 我该怎么做才能使这项工作成功?

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

谢谢。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

从这里开始,我的问题开始出现。打开YourFramework.xcworkspace是可行的,但是在Xcode的左侧导航器中,我只能展开 Pods -项目,而不能扩展 Framework -项目;它似乎是空的。建筑也不起作用。 为了解决这个问题(因此,只需常规步骤即可解决Xcode问题):

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

现在它可能会生成,或者不会。在我的情况下,并没有与Swift语言不可用相关的数百个问题。我创建了一个框架,没有任何源文件,只是导入了CocoaPods。为了解决这个问题,请在至少导入Foundation的框架中创建一个Swift文件。

现在它应该建立。