我有一个Xcode项目,它包含几个子项目(编译为lib文件的框架项目)作为主项目的一部分。该项目在Xcode中正确编译/构建(从hyarchial树的底部到主app项目正确构建子项目)。
我现在正在尝试为持续集成设置项目,当我尝试使用xcodebuild从命令行构建时...由于没有找到应该在main之前构建的.a文件,构建失败项目
我可以独立地从cmd行构建每个lib文件,但整个合并项目失败。即使我在目标方案中正确管理了依赖项,并且如果我在使用xcodebuild时指定目标或方案,它仍然不会构建子项目。
有没有办法让xcodebuild构建子项目,然后像Xcode IDE那样构建主项目?如果没有,如果我将整个项目转换为工作区,这会有效吗?
非常感谢任何帮助或建议。我在Mavericks上运行Xcode 5.1.1。
答案 0 :(得分:9)
解决方案很简单......使用" -scheme"标志而不是" -target"允许项目正确构建(所有子项目/框架,然后目标应用程序)
FAILED:
xcodebuild -project MyProject.xcodeproj -target MyProject -sdk "iphoneos" -configuration “Build” archive OBJROOT=../../build_iOS/Obj.root SYMROOT=../../build_iOS/Sym.root
按预期建造:
xcodebuild -project MyProject.xcodeproj -scheme MyProject -sdk "iphoneos" -configuration “Build” archive OBJROOT=../../build_iOS/Obj.root SYMROOT=../../build_iOS/Sym.root
无需将项目转换为工作区。
答案 1 :(得分:2)
您需要使用工作区来构建多个项目。此外,由于您要迁移到CI服务器,请务必共享您的方案。