當前位置:成語大全網 - 書法字典 - IOS遠程自動打包問題

IOS遠程自動打包問題

遇到的問題是這樣的:有壹個通用的構建服務器,自動打包腳本已經寫好並通過了本地測試。需要通過Jenkins在這個構建服務器上調用這個自動打包腳本來完成持續集成。然而,在建造過程中報告了以下錯誤:

/usr/bin/codesign-force-sign 5 f 99020 c8e 18342 FDC 41502 facd 430 c 23 b 975430-entitlements/Users/wsbg/Library/Developer/Xcode/derived data/WesaiPoker-doyqrrerzijnjzekyyrdbzcmjhju/Build/Intermediates/ARCHIVE Intermediates/WesaiPoker/IntermediateBuildFilesPath/WesaiPoker . Build/Release-iphone OS/wesai

問題調查

故障排除1:直接登錄遠程構建器,手動運行打包腳本都沒問題,說明腳本本身沒問題。看了上面的輸出錯誤日誌,應該是簽名問題。

故障排除2:通過ssh登錄遠程構建器,運行打包腳本報告同樣的錯誤,說明Jenkins應該可以通過ssh解決。

故障排除3:在Google上用ssh關鍵字搜索command/usr/bin/code sign失敗,退出代碼1,發現很多人也遇到過這個問題。同壹個持續集成工具fastlane有很多相似之處[問題]。總的原理是,當codesign命令需要簽名時,它會訪問keychain來獲取打包腳本中對應的證書。通過ssh訪問時,沒有訪問權限。

故障排除4:根據網友的做法添加命令安全解鎖-鑰匙串-p密碼/用戶/用戶名/庫/鑰匙串/登錄.鑰匙串。

其中password是您登錄當前機器帳戶的密碼,username是當前帳戶的名稱。在最新的Mac Sierra中,Keychains下沒有Login.keychain,新名稱改為Login.keychain-db。所以壹個軟連接LN-s ~/library/keychains/login。keychain-db ~/library/keychains/log in。需要鑰匙扣。

然後先執行上面的命令,再執行打包腳本,就可以遠程打包了。

補充:因為這個解鎖不是永久的,所以每次執行打包腳本的時候,都必須在執行打包腳本之前執行解鎖命令。