我爱上了 Cocoapods,我想用它迁移我的所有项目。
在开始之前,我有几个关于如何在我的项目中处理外部非 cocoapods 框架的问题。
1) 假设我正在使用 Cocoapods,并且我只包含了 AFNetworking 框架。
在某些时候,我需要使用一些 CoreGraphic 动画并且我需要使用 QuartzCore :AFNetworking 没有使用这个框架,所以 QuartzCore 没有包含在我的 Pods 项目中。
处理这种情况的最佳方法是什么?
更好地考虑“我将所有框架都放在我的 Pods 项目中,所以在我的“应用程序项目”中我只有我的应用程序所需的代码”?如果是,如何?在我的 Pods.xconfig 中添加这段代码
OTHER_LDFLAGS = -ObjC ... -framework QuartzCore
?还是有其他(更好的)方法?
或者更好地考虑“这不是 Pod,所以我像以前一样在我的“应用程序项目”中添加框架”?
2) 我有一个库(保存在我的 HD 中),它不在 Cocoapods 的主存储库中,并且没有 Podspec 文件:将它包含在我的项目中的最佳方式是什么?
当然,每种方法都可以正常工作,所以我不是在问“如何添加外部框架”,而是在问最好的方法是什么
Best Answer-推荐答案 strong>
框架
CocoaPods 会尽可能将其文件与您的工作分开。这也是需要的,因为 CocoaPods 需要控制一些文件。例如,假设 Pods.xcconfig 受 CocoaPods 控制,并且在每次安装期间都会重新创建它。换句话说,您对其所做的任何更改都会丢失。
因此,如果您需要一个框架,您应该将其添加到您的应用项目中。原则上,即使框架包含在某些 Pod 中,您也应该这样做,因为它们可能会被更新,删除依赖项,您的项目会中断。
自定义库
如果您打算重用创建 podspec 的库,这两种方法都可以在未来派上用场。您还可以创建自定义 repo(请参阅 wiki),因此您不需要使用 :local 选项。
关于iphone - 在 cocoapods 项目中处理外部非 cocoapods 框架,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/14216045/
|