如何创建 cocoapod 框架并向其中添加文件?



我正在创建一个私有 pod,并希望将其用作模块。根据使用 pod lib create,在 CocoaPods.org:

你被问到的第一个问题是你想用什么语言构建一个 pod。对于这两种选择,CocoaPods 都会将您的库设置为框架。

事实上,当我运行pod lib create MyLibrary时,他们生成的初始项目模板确实将所有内容配置为框架,以便我可以添加一个类到Development Pods/MyLibrary,并从示例项目中访问该类的方法,只需使用@import MyLibrary;(或import MyLibrary,在 Swift 中(导入模块。

问题在于同一页面告诉我们的事实

问题结束后,我们对新创建的项目运行pod install

一旦我这样做,与模块相关的文件就消失了,我添加到Development Pods文件夹中的所有文件都消失了。不仅如此,框架Target本身已经消失了,所以它甚至不是简单地重新添加文件的问题。

这里的正确方法是什么?我似乎找不到有同样问题的人。

我正在运行 Cocoapod v1.5.3

任何帮助都非常感谢!

tl;博士:

  1. pod lib create MyLibrary
  2. cd MyLibrary/Example
  3. pod install
  4. 现在请注意,该项目不再具有模块配置。我怎样才能避免这种情况?

根据同一页面:

[!注意:由于开发 Pod 实现细节,当您 将新的/现有的文件添加到 Pod/类或 Pod/资源或更新您的 podspec,你应该运行 pod install 或 pod update。

根据我的经验,添加新文件时必须非常小心,因为它们最终可能会位于与预期Pods/Classes不同的文件夹中。

如有疑问,我会转到包含该项目的文件夹并搜索丢失的文件并将其移动到正确的文件夹。

非常重要的是,当你运行pod installCocoaPods会查看你的PodSpec,只安装符合PodSpec中提到的source_files条件的文件,即文件需要

  • 正确的扩展名
  • 正道。

但基本上你必须将文件添加到你想要的确切目录中。如果您使用组,它会搞砸。因此,无需使用 Xcode 添加新文件,只需使用 Finder 添加新文件,然后运行pod install即可。

不知道为什么,但是如果我添加到在适当目录中具有类似文件的同一组,Xcode和CocoaPods只会将文件放在顶部目录。

在完全切线上:

如果您一直使用:path在本地指向您的私有容器,然后将新文件添加到您的私有容器中,则这些新文件不会反映在拉入私有容器的存储库中。它们不会反映,因为它们的源代码管理来自另一个 git 存储库。

只要您在主应用程序中看到私有 pod 的新文件并且主应用程序编译,那么您就很好。

最新更新