我的项目(projectA)使用DTCoretext,现在我使用DTCoretext作为我的外部项目。所以我的项目与DTCoretext.framework有依赖关系,并且我已经在Embedded Binaries中设置了DTCoretext.framework。实际上,此DTCoretext.framework依赖于DTFoundation.framework。并进行所有设置之后,使用XCode的运行按钮(用于调试和发布)时,我都能很好地运行
My project (projectA) -> DTCoretext.framework -> DTFoundation.framework
但是当项目在我的持续集成机器(使用xcodebuild构建目标)中构建时,DTCoretext.framework会抱怨找不到DTFoundation标头。
fatal error: 'DTFoundation/DTWeakSupport.h' file not found
我比较了xcodebuild和xcode的run button的clang脚本。我发现clang的-F选项导致了问题
-F/Users/piaopiao/Library/Developer/Xcode/DerivedData/iKM-baefcofbkgpixlaqfrccdvjyxbcx/Build/Intermediates.noindex/ArchiveIntermediates/iKM/BuildProductsPath/Release-iphoneos
-F/Users/piaopiao/Documents/teg_svn/ikm-git/ikm/Externals/DTCoreText/build/Release-iphoneos
第一个运行良好,第二个找不到DTFoundation.framework,因为它是在DTCoreText的目录而不是DTFoundation目录中搜索的。
因此,似乎嵌入式二进制构建设置在xcodebuild命令行模型中不正确。反正要解决吗?