首页 > 技术文章 > Jenkins 编译包含Watch OS2 App Target的应用时报错

YungMing 2016-07-04 10:43 原文

错误重现

我们使用Jenkins 来进行我们的代码集成编译,当应用内添加了 Watch OS2 App的支持时,提交上去的代码会编译失败。失败提示如下:

找不到 Watch App。

错误分析

我们发现其实是编译出来了,只是路径没有找对。分析我们的编译脚本:

xcodebuild -scheme ${SCHEME_NAME} -workspace test.workspace -configuration ${CONFIGURATION_MODE} clean build CONFIGURATION_BUILD_DIR=$(PWD)/build

我们指定了 CONFIGURATION_BUILD_DIR ,但是编译器并没有按照我们的设置到该目录下寻找编译好的 Watch App 产物,而是到:

xxx/test-ios/build/Build/Products/Debug-watchos/test watch.app  

去寻找我们的构建产物,看来问题应该出在jenkins的设置上。

解决

如下链接指明了问题的所在,解决方法就是,抛弃CONFIGURATION_BUILD_DIR,使用 SYMROOT来指定编译路径。

但是这样其它编译出来的产物会跑到 SYMROOT/Debug-iphoneos/下 (Release 和 Test版下目录会不同),如果你要收集奔溃信息的,还需
要到这个目录下拷贝相应的.dSYM 和 .app 文件保存,也算是瑕疵吧。

https://forums.developer.apple.com/thread/15202

推荐阅读