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

相關文章
相關標籤/搜索