iOS静态库作为具有自定义生成configuration的项目的子项目?

我试图在多个Xcode项目之间共享代码。 我已经按照Apple的说明在项目中创build了一个静态库子项目:

http://developer.apple.com/library/ios/technotes/iOSStaticLibraries/iOSStaticLibraries.pdf

这很好用! 但是,当我使用自己的项目按照相同的说明,我发现我的应用程序中的代码无法find我在静态库中公开的头文件。

这是因为我的项目使用自定义生成configuration。 我有一个Ad Hoc构build,App Store构build等

例如:当我使用名为“Ad Hoc”的构buildconfiguration构build项目时,静态库子项目将构build发布configuration,并将其公共标题复制到名为“发布”的文件夹中。 主项目然后无法build立,抱怨说,它无法find我从静态库中导入的标题。 错误在“问题导航器”中显示为:Lexical或Preprocessor问题

所以我的问题是:你如何build立一个静态库作为一个项目的子项目,build立configuration,库不?

我在制作自定义项目模板时遇到了这个问题。

将“$(BUILD_DIR)/ Release $(EFFECTIVE_PLATFORM_NAME)”添加到“标题searchpath”和“用户标题searchpath”中,以查看您使用的存档configuration,并确保其设置为“recursion”非recursion”。 这将告诉你的应用程序search你的编译目录中的“Release”目录中的头文件。

问题在于,对于Debug版本,所有头文件都被复制到派生数据下的单个目录中。 但是,当您将文件复制到以生成configuration命名的文件夹时。 所以当你做一个“Ad Hoc”构build时,所有的文件都被复制到“Ad Hoc”文件夹中,但是你的静态库文件被复制到“Release”文件夹中。 这些文件夹并排坐在一起,除非被告知这样做,否则只能在“Ad Hoc”文件夹下search头文件。

这里是我的项目模板的GitHub提交,我修复了这个问题https://github.com/reidmain/Xcode-5-Project-Templates/commit/e465aa3d5c82118cc0d5af3a7f6f094d86b1ec63