重簽名

重簽名:

一、從新證書生成的ipa的embedded.mobileprovision(或從蘋果開發者賬號下載新證書的embedded.mobileprovision文件)中提取出entitlements.plist權限文件

1》security cms -D -i embedded.mobileprovision > temp.plist

2》

/usr/libexec/PlistBuddy -x -c 'Print :Entitlements'  temp.plist > entitlements.plist(錯誤的寫法:會報錯:Print: Entry, ":Entitlements ", Does Not Exist,報錯且能生成entitlements.plist,但是用此entitlements.plist去進行下一步依舊會報錯:entitlements.plist: unrecognized blob type (accepting blindly)

entitlements.plist: invalid length in entitlement blob);

/usr/libexec/PlistBuddy -c "Print :Entitlements" temp.plist -x > entitlements.plist(正確的寫法)

 

二、將舊的ipa包的info.plist中的Bundle identifier換成新的Bundle identifier(如果沒有修改Bundle identifier直接進行四步(重簽名命令)不會報錯,但是生成的新包,用iFunBox安裝會失敗,即重簽名失敗)

 

三、刪除舊包的_CodeSignature文件夾:

 

四、查看可用證書:

1》security find-identity -v -p codesigning

 

五、對app包進行簽名:

1》codesign -f -s "你的證書的名稱" --entitlements entitlements.plist Payload/blabla.app

命令行出現:replacing existing signature  生成新的_CodeSignature文件夾

 

codesign -f -s 55189D129F4221DF80536CBF3C185F7243A4FDB5 --entitlements entitlements.plist Payload/test.app

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章