在XCode中指定子项目的配置

时间:2009-10-23 18:16:30

标签: xcode configuration build dependencies subproject

我有一个引用另一个项目(A)的XCode项目(B)。默认情况下(据我所知),XCode将隐式构建匹配B目标配置的A依赖项的配置(例如,“Debug”)。但是,如果我想要A构建为“Debug”并将B构建为“Release”,该怎么办?我如何在XCode中指定它?

4 个答案:

答案 0 :(得分:5)

我不知道任何简单的方法,但你可以通过直接调用xcodebuild来实现依赖,以及“运行脚本”构建阶段。

我知道这只是一个例子,但如果您的真正目标是子项目是一个发布(无符号)构建,那么您可以通过将子项目构建到库或框架中获得更好的体验并将生成的二进制文件检入您的版本控制系统。每当我有一个很少更改的系统并且我不想要调试符号时,我继续将其构建为静态库并将其检入。我经常继续将代码移到别处(使用一个带有.a的自述文件,说明代码的位置以及代码的构建方式。这样可以节省构建和结账的时间,对于我的经验来说,这对于大型项目来说非常宝贵。

答案 1 :(得分:3)

是的,Xcode自然不支持这个;当你构建一个目标时,它会构建一个自身和所有依赖目标的配置。

Rob提到的解决方法是让一个依赖目标是一个聚合目标类型,它包含一个Run Script构建阶段,它只调用xcodebuild -configuration Release(或其他)。

答案 2 :(得分:3)

这可能有所帮助:如果找不到项目A的配置,Xcode将构建Release config作为后备(或者可能是列表的第一个配置)。

然后,您可以使用此提示“强制”链接:Xcode custom build configuration causes "library/file not found" for static libraries

答案 3 :(得分:0)

您可以在项目信息中指定默认的“ 后备 ”配置。

更改自:

  

使用“发布”进行命令行构建。

至:

  

使用“调试”进行命令行构建。

默认为“调试”。

项目文件差异Diffs of project file