IOS證書學習引薦博客代碼簽名探析,本文重點在於引見IOS8.1.3零碎ipa包重簽名(如企業證書)無法裝置的問題。蘋果在IOS8.1.3零碎當前增強了對ipa裝置包簽名的驗證,次要區別在於ipa獨一標識在原有Bundle Identifier的根底上添加了證書ID,也就說裝置包和手機上已裝置APP的Bundle Identifier即便分歧,假如兩者簽名的證書ID不相反,那麼裝置包也無法正常裝置。證書ID是什麼?
圖中方框裡字符串就是證書ID,晉級後的ipa標識就是證書ID+BundleID,只要兩者完全婚配,裝置包才干掩蓋裝置,否則就會提示裝置失敗。處理方法就是卸載裝置包,重新裝置!
1The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile目前,重簽名次要用於企業證書重簽名團體證書發布的ipa包,包括各種助手及企業內測包的發布等。在重簽名前,讓我們先看看一個完好的ipa包有哪些與證書相關的東西!翻開ipa包,會發現_CodeSignature和embedded.mobileprovision兩個文件
_CodeSignature,ipa包簽名文件embedded.mobileprovision,證書配置文件因而,交換下面兩個文件就處理了ipa重簽名的次要問題。此外,代碼簽名探析文中還提到entitlements.plist受權文件,重簽名時也需求處置。依照下圖內容創立plist文件,輸出相關信息。
1、解壓ipa裝置包
1 cp olinone.ipa olinone.zip2、交換證書配置文件(文件名必需為embedded,不得自定義)
1cp embedded.mobileprovision Payload/olinone.app3、重簽名(certifierName為重簽名證書文件名,可以加證書ID後綴)
1 2 certifierName="iPhone Distribution: olinone Information Technology Limited(6a5TVN58SY)" codesign -f -s $certifierName--entitlements entitlements.plist Payload/olinone.app4、打包
1 zip -r olinone.ipa Payload很多冤家在重簽名時會疏忽第二步或許沒有指定entitlements.plist,都會形成ipa包裝置失敗。假如有其它關於簽名的問題,可以在文章上面跟我留言!
【iOS證書及ipa包重簽名探求】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!