咱们使用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