构建静态库的最佳方法

时间:2012-06-25 00:48:26

标签: ios xcode

我即将开始为iOS应用程序编写静态库并提出几个问题

  1. 是否可以在库中使用纯C ++并公开具有接受std :: vector等方法的公共类?
    1. 我来自一个强大的类型编程世界,比如C ++和C#,对我来说这个库使用C ++要容易得多。
    2. 一般来说,纯iOS开发人员是否可以使用C ++代码并将.m文件更改为.mm?
  2. 在xCode中,我是否可以将静态库和演示项目都加载到同一个应用程序中,以便更容易调试?
  3. 如何为静态库项目制作后期构建步骤,以便将.a文件复制到所需位置?
  4. 如何调试静态库?
  5. 一般来说,静态库是iOS项目的常见内容,还是每个人都喜欢将源代码嵌入到他们的应用程序中?
  6. 非常欢迎任何关于此的文章或书籍。

    THX

1 个答案:

答案 0 :(得分:0)

这是很多问题,但我有部分答案。

1)对此不确定,因为我一般不使用Objective-C ++,但第二部分是你可以使用C ++(LLVM v3的1998标准)并将扩展名更改为.mm将自动让编译器知道你想用Objective-C ++编译它。

2)执行此操作的最佳方法是创建项目引用。从静态库中创建一个项目,然后将该项目作为另一个项目的子项目拖动。

3)参见步骤2,然后在Build Phases的Link With Library部分中添加.a文件。

4)由于源代码将显示在您的项目中,我假设您可以简单地放置断点,但我不确定。

5)是的,制作图书馆很常见。事实上,如果你需要在多个项目中使用相同的代码,那将是愚蠢的。

我建议你做一个跨项目参考,否则我肯定你会忘记你需要为每个构建类型(调试/发布和模拟器/设备)编译静态库。交叉项目引用将为您解决此问题。