參考 :
? ? ? ? http://www.reibang.com/p/f4cfac861aac
? ? ? ? http://blog.csdn.net/skylin19840101/article/details/60583893
Xcode 生成 Archive 包的重簽名 .ipa
? ? 提前準備:a. 可用證書 eg -> iPhone Developer:xxxx (xxxxxxx)
? ? ? ? ? ? ? ? ? ? ? ?b. 從Xcode中拿一份 embedded.mobileprovision 文件
? ? 1. 解壓 ipa 包 以xxx.ipa 為例子 解壓都 出現(xiàn) Payload 文件
? ? ? ? eg: unzip xxxx.ipa -d "$TEMP_DIR"
? ? 2. 移除里面的簽名文件
? ? ? ? eg: rm -rf Payload/xxx.app/_CodeSignature/
? ? 3. 覆蓋簽名文件
? ? ? ? eg: cp embedded.mobileprovision Payload/xxx.app/embedded.mobileprovision
? ? 4. 創(chuàng)建一份entitlements.plist文件 以及 路徑
? ? ? ? eg:
? ? ? ? ? ? a. security cms -D -i embedded.mobileprovision > t_entitlements_full.plist
? ? ? ? ? ? b. /usr/libexec/PlistBuddy -x -c 'Print:Entitlements' t_entitlements_full.plist > entitlements.plist
? ? 5. 注意事項
? ? ? ? 1.如果需要修改identifier的 則進入 Payload -> (解壓 xxx)xxx.app -> info.plist 找到 bundleId 進行修改熄诡,要和描述文件、證書相匹配
? ? ? ? 2.要id和profile文件里面的id一致,發(fā)布證書和profile匹配才是真正的成功.不然提示安裝失敗。
? ? 6. 簽名昵宇、輸入一下命令
? ? ? ? eg:
? ? ? ? ? ? /usr/bin/codesign -f -s 'iPhone Developer: xxxx (xxxxxxxx)' --entitlements entitlements.plist Payload/xxx.app
? ? ? ? 結(jié)果:Payload/xxx.app: replacing existing signature 出現(xiàn)這個顯示成功
? ? ? ? 測試:可以執(zhí)行命令查看是否重簽成功
? ? ? ? ? ? 1:codesign -d --entitlements - Example.app
? ? ? ? ? ? 2:$ security cms -D -i example.mobileprovision
? ? ? ? ? ? 3:codesign -vv -d example.app路徑
? ? ? ? 第三個可以查看id和證書标锄,比較常用,有任何問題的朋友可以留言·强衡。
? ? 7. 替換后則手動壓縮Payload成zip 集漾,然后改為ipa即是最終版本