2012-08-01 178 views
1

我在构建一个iOS应用程序,该应用程序使用我使用jverkoey's framework structure构建的库。一切都很好,直到我试图让我的CI环境(詹金斯)建立我的项目。 Jenkins使用命令行进行构建,当它执行时,我的依赖框架被构建在它自己的构建目录中,当我的主应用程序构建在它自己的目录中时,它无法找到框架。Xcode命令行编译依赖项目

作为一个测试,我将从我的依赖框架构建目录的输出复制到主应用程序构建目录,并重新运行我的命令行构建,一切正常。所以我想我必须做的是更新我的Jenkins构建脚本,以便能够在构建主应用程序之前移动依赖构建输出,或者将它们更改为XCode通过其DerivedData目录从IDE执行的所有构建。

问题是,怎么样?从命令行构建我不是专家,我真的可以在这里使用一些帮助。

回答

4

好的,我明白了这一点。只要其他人有类似的问题,您可以将SYMROOT设置设置为运行xcodebuild时所需的任何目录。

xcodebuild -target MyTarget SYMROOT=/Build/MyProj/Sym.root

+1

仅仅是明确的: “SYMROOT =构建/ XXX”仍然会创建的每个项目中一个单独的目录,但是目录的名称将是“建立/ XXX” “SYMROOT = /编译/ xxx'(带有完整路径标记)将在“/ Build/xxx”下创建所有构建产品。 您需要使用完整路径表示法。 – HyBRiD 2012-11-25 12:25:39