#!get the root path
rootpath=$(cd "$(dirname "$0")"; pwd)
#可變引數區域
mobileprovision=$/cert.mobileprovision
ipapath=$/1.ipa
#固定引數區域
outputdir=$/output
#解析描述檔案
certteamname=`/usr/libexec/plistbuddy -c "print teamname" /dev/stdin <<< $(security cms -d -i $mobileprovision)`
code_sign_identity="iphone distribution: $certteamname"
uuid=`/usr/libexec/plistbuddy -c "print uuid" /dev/stdin <<< $(security cms -d -i $mobileprovision)`
mobileprovisionname=`/usr/libexec/plistbuddy -c "print name" /dev/stdin <<< $(security cms -d -i $mobileprovision)`
bundleid_entifier=$
destent=$/entitlements.plist
profile="$/profile.plist"
rm -drf $
rm -drf $
/usr/bin/security cms -d -i $ > "$"
/usr/libexec/plistbuddy -x -c 'print :entitlements' "$" > "$"
/bin/rm "$"
echo "code_sign_identity:$code_sign_identity \n描述檔案名字:$mobileprovisionname \nbundleid_entifier:$bundleid_entifier"
#開始處理ipa,解壓ipa包
rm -drf $outputdir
mkdir $outputdir
unzip $ipapath -d $outputdir
#修改bundleid
#替換描述檔案
#處理外掛程式的重簽名
#簽名ipa包 dylib貌似不需要重簽名
resignframework()
if [ "$ext" == "framework" ]; then
echo "重簽名framework $i"
codesign -f -s "$code_sign_identity" --entitlements "$destent" $/$i
fidone
}#重簽名結束,壓縮ipa包"
cd $
zip -r resign.ipa payload
iOS應用指令碼重簽名
越獄手機匯出 xcode打包 等等 檢視可執行檔案的簽名資訊 輸入 security find identity v p codesigning 檢視mac本地的證書列表 記下你要用來簽名的證書雙引號 包括雙引號 中的字串,一會兒會用到 otool l wechat grep crypt 會輸出 c...
使用指令碼重簽名
其實不過是xcode簽名步驟在指令碼中進行了 在xcode中直接新增如下指令碼 srcroot 工程檔案所在的目錄 temp path temp 資源資料夾 ipa包路徑 target ipa path ipa 新建temp資料夾 rm rf temp mkdir p temp 1.解壓ipa到te...
iOS開發筆記 ipa重簽名
使用企業證書打包發布有一年的有效期,之前遇到使用乙個演示版本臨時改用的版本發布出去後隔很長一段時間突然說還用,證書都過期了,這樣的版本突然要維護也是無力吐槽,當時的 都沒了,想想證書過期的話重簽名一下就好了,簡單就學習了一下做個總結記錄 1.ipa解壓出包含payload的資料夾 3.cd到解壓出來...