91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jenkins 自動化打包 ipa 的 一些坑

發布時間:2020-07-18 19:33:34 來源:網絡 閱讀:1905 作者:起始頁 欄目:移動開發

公司申請了一臺 mac mini 本來是用來方便iOS專屬打包,而搭建Jenkins自動發布平臺的,但是鑒于領導是android控 于是乎 對 mac mini 配置進行 大大改造 以至于 本來好好的 iOS項目的打包功能 也陷入癱瘓(關鍵你改了 你說一聲,你也不吭聲)。。。。

   好吧接下來說問題,

   開始自動化編譯ipa,嘩嘩打印日志 突然

error: /usr/bin/codesign --force --preserve-metadata=identifier,entitlements,resource-rules --sign iPhone Distribution: **** --resource-rules=/var/folders/zy/9qwmy3j50qb2g8pbtj9hxyvm000086/T/HjWeg6NTbj/Payload/****.app/ResourceRules.plist --entitlements /var/folders/zy/9qwmy3j50qb2g8pbtj9hxyvm000086/T/HjWeg6NTbj/entitlements_plistGMvHUypG /var/folders/zy/9qwmy3j50qb2g8pbtj9hxyvm000086/T/HjWeg6NTbj/Payload/******.app failed with error 1. Output: Warning: usage of --preserve-metadata with option "resource-rules" (deprecated in Mac OS X >= 10.10)!
Warning: --resource-rules has been deprecated in Mac OS X >= 10.10!

問題來了,在 Mac OS X >= 10.10 的系統中 針對 /ResourceRules.plist 的檢測已經廢棄了,

對比


于是乎 Mac OS X >= 10.10 的系統中并且 xcode 8 build環境  ,build ****.app 的時候 沒有了ResourceRules.plist

但是 xcode 8 的 內部的一個 負責打包的可執行腳本 還是要檢測ResourceRules.plist 來打包程序,結果找不到,所以報錯,卡卡卡。。


解決方案 這樣 打開路徑 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/binjenkins 自動化打包 ipa 的 一些坑


打開 編輯之前 建議將原腳本 備份一下,省的出什么幺蛾子。

備份完畢

找到 codesign_args

jenkins 自動化打包 ipa 的 一些坑


look 簽名時 檢測 了 --resource-rules=$destApp/ResourceRules.plist  可但是 .app 文件內并無此文件,

所以對這個變量稍作修改了,

修改如下

 my @codesign_args;
    if (-e '$destApp/ResourceRules.plist') {  # If ResourceRules.plist exists, include it in codesign arguments, for backwards compatability
        @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements,resource-rules",
                         "--sign", $opt{sign},
                         "--resource-rules=$destApp/ResourceRules.plist");
    } else { # If ResourceRules.plist isn't found, don't include it in the codesign arguments
        @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements",
                         "--sign", $opt{sign});
    }


規避 ResourceRules.plist 的檢測 打包;


如上就是解決

error: /usr/bin/codesign --force --preserve-metadata=identifier,entitlements,resource-rules --sign iPhone Distribution: **** --resource-rules=/var/folders/zy/9qwmy3j50qb2g8pbtj9hxyvm000086/T/HjWeg6NTbj/Payload/****.app/ResourceRules.plist --entitlements /var/folders/zy/9qwmy3j50qb2g8pbtj9hxyvm000086/T/HjWeg6NTbj/entitlements_plistGMvHUypG /var/folders/zy/9qwmy3j50qb2g8pbtj9hxyvm000086/T/HjWeg6NTbj/Payload/******.app failed with error 1. Output: Warning: usage of --preserve-metadata with option "resource-rules" (deprecated in Mac OS X >= 10.10)!
Warning: --resource-rules has been deprecated in Mac OS X >= 10.10!

問題 如果問題還是沒有解決

多看看 是不是證書和簽名的問題 避免 簽名證書 存放到 系統鑰匙串中,一定要存放到登錄鑰匙串中!!!而且盡量只存在一個證書(開發或者生產的,避免jenkins找不到該使用哪一個), 同時還有刪除一些 無用的私鑰,這也是是一個容易被忽略的坑 ;

一般咱們在自己的mac上編譯打包的時候,在打包過程中會提示 “是否允許訪問私鑰” 一般選擇 “總是允許”,但是鑒于jenkins是遠程自動化打包,所以事先要對所使用的證書的私鑰設置成“允許所有程序訪問”,當然了取決于 所處環境的安全策略要求了。。


如下圖

jenkins 自動化打包 ipa 的 一些坑

jenkins 自動化打包 ipa 的 一些坑


如此即可。。


其實以上都是一些老生常談的問題,但是不管操作過多少次,每次使用jenkins都是出現各種新鮮花樣的問題,但是問題還是在掌控之中能夠處理的,大家僅以慰藉,希望能對大家有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天门市| 永靖县| 沁水县| 罗田县| 望江县| 宜黄县| 长阳| 衡南县| 仙居县| 临夏市| 鹤壁市| 历史| 固始县| 山阳县| 余干县| 贵定县| 冀州市| 九江市| 沅江市| 鹤庆县| 苗栗县| 黔东| 天台县| 抚远县| 犍为县| 子洲县| 石柱| 天峻县| 儋州市| 南平市| 建宁县| 富锦市| 宁河县| 青田县| 苏尼特右旗| 屏南县| 收藏| 麻城市| 临安市| 青铜峡市| 泸州市|