我正在创建一个私有pod,并希望将其用作模块。根据{{3}}:
您要问的第一个问题是您想要构建一个pod的语言。对于这两种选择 CocoaPods会将您的库设置为框架。
事实上,当我运行pod lib create MyLibrary
时,他们生成的初始项目模板确实将所有内容都配置为框架,这样我就可以向Development Pods/MyLibrary
添加一个类,并访问该类的方法只需使用@import MyLibrary;
(或import MyLibrary
在Swift中)导入模块,即可从示例项目中获取。
问题在于同一页面告诉我们
问题结束后,我们在新创建的项目上运行
pod install
。
一旦我这样做,模块相关文件就消失了,我添加到Development Pods
文件夹的所有文件都消失了。不仅如此,框架Target本身已经消失,所以它甚至不仅仅是简单地再添加文件了。
这里有什么正确的方法?我似乎找不到有同样问题的人。
我正在运行Cocoapod v1.5.3
非常感谢任何帮助!
TL; DR:
pod lib create MyLibrary
cd MyLibrary/Example
pod install
答案 0 :(得分:0)
根据同一页面:
[!]注意:由于开发包实现的详细信息,当您 将新文件/现有文件添加到Pod / Classs或Pod / Assets或更新您的 podspec,您应该运行pod install或pod update。
根据我的经验,添加新文件时必须非常小心,因为它们最终可能位于与预期Pods/Classes
不同的文件夹中。
如有疑问,我转到包含项目的文件夹并搜索丢失的文件,然后将其移至正确的文件夹。
答案 1 :(得分:0)
最重要的是,当您运行 pod install
时,CocoaPods 会查看您的 PodSpec
并且只安装符合 PodSpec 中提到的 source_files
条件的文件,即这些文件需要< /p>
但基本上你必须将文件添加到你想要的确切目录。如果您使用组,它会变得一团糟。因此,不要使用 Xcode 添加新文件,只需使用 Finder 添加新文件,然后运行 pod install
。
不知道为什么,但如果我添加到在适当目录中有类似文件的同一组中,Xcode 和 CocoaPods 只会将该文件放在顶级目录中。
在完全切线上:
如果您一直使用 :path
在本地指向您的私有 Pod,然后将新文件添加到您的私有 Pod,那么这些新文件不会反映在拉入私有 Pod 的存储库中。它们没有被反映,因为它们的源代码控制来自另一个 git 存储库。
只要您在主应用程序中看到私有 Pod 的新文件并且主应用程序编译,那么您就很好。