首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建iOS框架:包括第三方库和代码

创建iOS框架:包括第三方库和代码
EN

Stack Overflow用户
提问于 2013-02-28 00:28:35
回答 2查看 3.5K关注 0票数 13

我正在制作一个静态的iOS框架。我想在我的框架中使用第三方代码,让我们以AFNetworking为例。AFNetworking很流行。我现在可以感觉到名称空间冲突了。这里的最佳实践是什么?据我所知,我有3个选择:

1)将AFNetworking构建到我的框架中,导出头部。这允许客户端使用我的库中的AFNetworking版本,但他们不能使用也链接AFNetworking的其他框架。他们依赖我来更新AFNetworking,如果他们在它的基础上构建的话。

2)针对AFNetworking头进行编码,但使第三方在其项目中包含AFNetworking。这为框架使用者增加了额外的步骤,他们必须添加AFNetworking源代码。将来可能会有版本不兼容的问题,但至少如果另一个框架使用AFNetworking,他们可以同时使用它。

3)重新命名空间AFNetworking,保持头部私有。通过这种方式,我以任何方式避免了名称空间冲突,除非更新我的AFNetworking副本变得非常困难。最终的二进制文件会变得更大,但所有的互操作性问题都得到了解决。这对我来说是更多的工作。

我还有其他选择吗?最佳实践是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-28 01:11:29

更好的选择是使用http://cocoapods.org。通过这种方式,可以声明库的依赖关系,并获得整个项目的单个下载。

不要重命名头文件。既费时又费力。

附言:一个这样的例子:

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

票数 6
EN

Stack Overflow用户

发布于 2014-03-24 07:35:54

就数字3而言,它不是一个完整的“重命名空间”,但它与之类似:

http://atastypixel.com/blog/avoiding-duplicate-symbol-issues-when-using-common-utilities-within-a-static-library/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15117187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档