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