Jenkins 编译包含Watch OS2 App Target的应用时报错

错误重现

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

找不到 Watch App。xcode

错误分析

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

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

咱们指定了 CONFIGURATION_BUILD_DIR ,可是编译器并无按照咱们的设置到该目录下寻找编译好的 Watch App 产物,而是到:iphone

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

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

解决

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

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

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

相关文章
相关标签/搜索