我有一个犹豫不决的关于将我的项目转换为lib或框架,以便在另一个项目中使用它并隐藏我的代码.
我一直在网上寻找关于什么是更好,框架或lib的一些材料.有几种框架(大多数框架都不受Apple支持,通常需要一些"法律黑客"来构建它们,例如假框架和动态框架......).
有人可以推荐并解释什么是更好的选择吗?框架或库(.a文件).
Mat*_*ing 11
这开始是一个评论,但我没有空间.H2CO3所说的一切都是正确的,但值得深入研究两种静态库的细节.在将代码分发给其他人时,消费者需要两件事:公共标题和编译的目标文件.这两种方法在提供所述事物方面略有不同.
这些具有易于构建的优点.Xcode已经有了一个项目模板.虽然它们的消费并不可怕,但它们也不是很好.您必须提供编译对象存档(.a文件),并且还必须以某种方式提供所有公共标头.然后客户端必须链接到您的库并手动告诉Xcode在哪里查找标题.
传统框架包含动态库.有些人已经想出了一种围绕静态库制作相同结构的方法..framework只是一个具有确定性布局的目录结构.它旨在包含使用所需的所有头文件.这很容易消费.您只需拖放即可,Xcode会自动知道在哪里找到标题.它的缺点是难以生产.Xcode没有这方面的项目模板,因此您需要在线查找有关该过程的文献,并将自己的构建脚本添加到Xcode以生成框架.
所有这一切,由您来决定基于您的库的使用方式.这是一个简单的权衡,易于构建但消耗乏味,难以构建但易于使用.