iPhone-静态库,用于;复制标题;?

iPhone-静态库,用于;复制标题;?,iphone,xcode4.2,static-libraries,header-files,Iphone,Xcode4.2,Static Libraries,Header Files,我正在创建一个库,尽管它通过打包我所有的代码并将所有头文件放在一个文件夹中,然后压缩文件夹和静态库工作得非常好,但我无法理解构建阶段下“复制头”部分的目的 我已经阅读了所有这些链接: 但是我仍然不明白设置复制头的意义,我意识到您可以在build settings>packaging下设置私有和公共路径,并且头文件将在生成后转到该文件夹。但是,这有什么意义呢?这与不设置单个副本头文件并简单地抓取.a文件有什么不同吗?抓取我的所有头文件并将它们放在文件夹中?。另外,设置复制项目标题的目的是什

我正在创建一个库,尽管它通过打包我所有的代码并将所有头文件放在一个文件夹中,然后压缩文件夹和静态库工作得非常好,但我无法理解构建阶段下“复制头”部分的目的

我已经阅读了所有这些链接:


但是我仍然不明白设置复制头的意义,我意识到您可以在build settings>packaging下设置私有和公共路径,并且头文件将在生成后转到该文件夹。但是,这有什么意义呢?这与不设置单个副本头文件并简单地抓取.a文件有什么不同吗?抓取我的所有头文件并将它们放在文件夹中?。另外,设置复制项目标题的目的是什么?因为它们根本不包括在目标中?

据我所知,将标题添加到“复制标题”阶段的“公共”部分与在发布文件夹中复制标题完全相同

我使用它是为了方便,因为我使用运行脚本自动化了库打包过程(多亏了,如果您想提供通用库,应该阅读

通过执行此操作,我只需要将新的公共头添加到“复制头”阶段的“公共”部分,以便将它们自动部署到我的发布文件夹中,脚本的这一部分包括:

#########
#
# Added: StackOverflow suggestion to also copy "include" files
#    (untested, but should work OK)
#
if [ -d "${CURRENTCONFIG_DEVICE_DIR}/usr/local/include" ]
then
mkdir -p "${CREATING_UNIVERSAL_DIR}/headers"
# * needs to be outside the double quotes?
cp "${CURRENTCONFIG_DEVICE_DIR}/usr/local/include/"* "${CREATING_UNIVERSAL_DIR}/headers"
fi
我还注意到,在归档(Product->Archive)时,这些标题会复制到包中,因此,也许这是Apple提供一种干净的方法来构建静态库的第一步


希望这有帮助

在生成归档文件时,复制头阶段现在可以工作了吗?苹果的文档表明该功能不起作用,他们建议使用复制文件构建阶段。这在最新版本的Xcode中已经修复了吗