網上已經公開了很多簽名腳本故慈,比如這個
#!/bin/sh
#獲取第一個參數具练,也就是要用于重新簽名的IPA名稱,帶后綴.ipa
OLD_IPA=$1
#獲取第二個參數绰精,也就是重新簽名之后的IPA名稱,不帶后綴
NEW_IPA=$2
#所用的Provisioning Profile文件
RESIGN_PROVISION="Youxin7Developer.mobileprovision"
#所用的證書名稱透葛,一定是在keychain里面看到的名字
RESIGN_CERT="iPhone Developer: Kailiang Liu (DEU5UF8KH8)"
#你的IPA解壓之后笨使,在Payload文件里面的那個文件夾名稱后綴是.app
APPNAME="SoftphoneDemo"
#解壓IPA
unzip $OLD_IPA
#刪除原來的簽名和mobileprovision文件
rm -r "Payload/$APPNAME.app/_CodeSignature"
rm -r "Payload/$APPNAME.app/embedded.mobileprovision"
#拷貝新的profile文件
cp "$RESIGN_PROVISION" "Payload/$APPNAME.app/embedded.mobileprovision"
#重新簽名
/usr/bin/codesign -f -s "$RESIGN_CERT" --resource-rules "Payload/$APPNAME.app/ResourceRules.plist" "Payload/$APPNAME.app"
echo "$RESIGN_CERT"
#壓縮IPA
zip -qr "$NEW_IPA.ipa" Payload
rm -r "Payload"
需要說明的是,RESIGN_PROVISION是mobileprovision文件的路徑僚害,我偷懶硫椰,直接放在當前目錄下。
RESIGN_CERT是keychain里面的名字。
現在很流行用企業(yè)版證書簽名靶草,這種腳本應該用的挺多的蹄胰。
PS: 最近對這個腳本完善了一下,RESIGN_PROVISION和RESIGN_CERT還是沒有去掉哦