游戏SDK

IOS ipa包企业证书签名手动替换

2019-10-18  本文已影响0人  岑吾

原理

IOS安装包企业签名ipa包里面包含的是payload文件夹,文件夹中包含了资源文件和_CodeSignature签名文件夹以及embedded.mobileprovision证书配置文件,而其中关于ios授权签名的就是_CodeSignature签名文件夹和embedded.mobileprovision证书配置文件 只要替换这两个文件就搞定。
_CodeSignature签名文件夹 需要用 *.plist 授权文件去自动生成。

*.plist文件配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>application-identifier</key>
    <string>${application-identifier}</string>
    <key>com.apple.developer.team-identifier</key>
    <string>${com.apple.developer.team-identifier}</string>
    <key>get-task-allow</key>
    <false/>
    <key>keychain-access-groups</key>
    <array>
        <string>${application-identifier}</string>
    </array>
</dict>
</plist>

其中 {application-identifier} 和{com.apple.developer.team-identifier} 在 企业证书文件中 *.mobileprovision 中拷贝

实施步骤

  1. *.mobileprovision
  2. distribution.cer
  3. distribution.p12
unzip *.ipa
rm -rf Payload/*.app/_CodeSignature
cp embedded.mobileprovision Payload/*.app/ 
/usr/bin/codesign -f -s "iPhone Distribution: ${cerName}" --entitlements *.plist Payload/*.app

其中 ${cerName}是证书名称,可以在钥匙串证书中看到

zip -r xxx.ipa Payload
上一篇 下一篇

猜你喜欢

热点阅读