2016-04-30 95 views
0

从Lib.a文件中的iOS项目创建静态库时,是否还将所有头文件捆绑到其中?或者,我应该将所有的头文件标记为公用头标记为私人头文件,然后将所有私人文件添加到/ usr/local/include文件夹中,一旦构建静态库目标?静态库中的头文件包含和可见性iOS

回答

1

不,没有任何事情会自动发生。对于静态库的正常过程如下:

  • 有一个静态库目标在您的项目,所以您可以在一个应用程序的项目和验证功能

  • 创建一个运行脚本和总目标所以你建立一个.a的iOS和模拟器,然后“lipo”他们在一起.a

  • 在运行脚本中,将.a和所有必需的.h文件复制到某个文件夹中创建

该文件夹就是您发布的内容。用户链接到.a,并将他们的应用程序项目中的搜索路径设置为指向您的.a文件夹。

+0

如果我的静态库目标的Xcode项目依赖于许多其他静态库,我应该如何创建一个包含所有静态库的框架,以便最终用户不必手动添加这些库。目前,我正在使用libtool命令将所有.a文件合并为一个二进制文件。所有这些依赖库及其头文件都位于项目文件夹之外,位于系统中的某个位置。是否必须将所有依赖静态库头包含在项目文件夹中并将它们标记为私有或项目头? –

+0

我只需要静态库来支持iPhone,而不是模拟器。所以,我没有使用lipo命令来创建一个Universal框架。相反,我必须将多个静态库合并到一个框架文件中,为此我使用libtool命令。 –