2

我爱上了 Cocoapods,我想用它迁移我的所有项目。在此之前,我有几个关于如何在我的项目中处理外部非 cocoapods 框架的问题。

1)假设我正在使用 Cocoapods 并且我只包含了AFNetworking框架。在某些时候,我需要使用一些 CoreGraphic 动画并且我需要使用QuartzCore:AFNetworking 没有使用这个框架,所以 QuartzCore 没有包含在我的 Pods 项目中。处理这种情况的最佳方法是什么?

更好地考虑“我将所有框架都放在我的 Pods 项目中,所以在我的“应用程序项目”中,我只有我的应用程序所需的代码”?如果是,如何?添加我的Pods.xconfig这段代码

OTHER_LDFLAGS = -ObjC ... -framework QuartzCore

? 还是有其他(更好的)方法?

或者更好地考虑“这不是 Pod,所以我像以前一样在我的“应用程序项目”中添加框架”?

2)我有一个库(保存在我的 HD 中),它不在 Cocoapods 的主存储库中并且没有Podspec文件:将它包含在我的项目中的最佳方法是什么?

  • 我为该库创建了一个 podspec,并使用:local我的属性链接它Podfile

  • 我像往常一样将该库添加到我的“应用程序项目”中

当然,每种方式都可以正常工作,所以我不是在问“如何添加外部框架”,而是在问最好的方法是什么:)

4

1 回答 1

4

框架

CocoaPods 尽可能地尝试将其文件与您的工作分开。这也是需要的,因为 CocoaPods 需要控制一些文件。例如,Pods.xcconfig假设它在 CocoaPods 控制下,并且在每次安装期间都会重新创建。换句话说,您对其所做的任何更改都会丢失。

因此,如果您需要一个框架,您应该将其添加到您的应用程序项目中。原则上,即使框架包含在某些 Pod 中,您也应该这样做,因为它们可能会被更新以移除依赖项,并且您的项目会中断。

自定义库

如果您打算重用创建库的库,这两种选择podspec都可以在将来派上用场。您还可以创建自定义存储库(请参阅 wiki),因此您不需要使用该:local选项。

于 2013-01-08T14:02:40.860 回答