繁体   English   中英

在cocoapods项目中处理外部的非cocoapods框架

[英]Handle external not-cocoapods-framework in a cocoapods project

我爱上了Cocoapods,我想用它迁移所有项目。 在开始之前,我对如何在项目中处理外部的非cocoapods框架有一些疑问。

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

最好考虑一下“我将所有框架都放在了Pods项目中,所以在我的“应用程序项目”中,我只有应用程序所需的代码”? 如果是的话,怎么办? 在我的Pods.xconfig添加此代码

OTHER_LDFLAGS = -ObjC ...-框架QuartzCore

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

还是最好考虑一下“这不是Pod,所以我像以前一样将框架添加到我的“应用程序项目”中”?

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

  • 我为该库创建一个podspec,并在Podfile上使用:local属性将其链接

  • 我一如既往地将库添加到“应用程序项目”中

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

骨架

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

因此,如果您需要框架,则应将其添加到您的应用程序项目中。 原则上,即使某些Pod包含了框架,您也应该这样做,因为可能会对其进行更新以删除依赖关系,并且您的项目可能会中断。

定制图书馆

这两种选择的工作,如果你打算重用库创建podspec可能在将来来得心应手。 您也可以创建自定义存储库(请参阅Wiki),因此无需使用:local选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM