制作iOS框架:包括第三方库和代码

我制作一个静态的iOS框架.我想使用第三方代码,让我们以框架中的AFNetworking为例. AFNetworking很受欢迎.我现在可以感觉命名空间的碰撞.这里最好的做法是什么?据我所知,我有3个选择:

1)将AFNetworking构建到我的框架中,导出标题.这样客户端就可以在我的库中使用AFNetworking版本,但是它们不能使用其他链接AFNetworking的框架.他们依靠我的AFNetworking的更新,如果它们建立在它.

2)针对AFNetworking标题代码,但使第三方在其项目中包含AFNetworking.这为框架消费者增加一个额外的步骤,他们必须添加AFNetworking源.未来可能存在版本不兼容,但至少如果另一个框架使用AFNetworking,他们可以同时使用它们.

3)重命名空间AFNetworking并保持标题为私有.这样我就可以以任何方式避免命名空间冲突,只不过它真的很难更新我的AFNetworking副本.最终的二进制文件有点大,但所有的互操作性问题都得到解决.这对我来说是更多的工作.

我有其他选择吗?最好的做法是什么?

解决方法

一个更好的选择是使用 http://cocoapods.org.这样,可以声明libs的依赖关系,并为整个项目获得一个单一的下载.

不要重命名标题是耗时且艰辛的.

P.D:一个样本:

http://chariotsolutions.com/blog/post/using-cocoapods-to-manage-private-libraries/

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...