苹果ipa企业包如何重签名

工具准备app

一、codesign的命令行工具来实现重签名。(Mac自带)工具

二、从 developer.apple.com 获取企业帐号有效证书,用于签名使用。"iPhone Distribution: ***",若是没有企业帐号可借助第三方平台(如:app.fubi.hk)得到苹果企业签名服务,这也是一个不错的办法。命令行

三、从 developer.apple.com 获取描述文件,用于签名使用。***.mobileprovisioncode

四、从 developer.apple.com 注册签名用包名,例如 com.***.***,用于从新签名 com.***.***2ip

四、须要重签名的ipa包it

生成 embedded.mobileprovision 文件io

修改文件名,修改 ***.mobileprovision 为 embedded.mobileprovisionmobile

生成 entitlements.plist 受权机制文件打包

一、经过security命令,从embedded.mobileprovision文件中生成一个完整的plist文件终端

终端命令:

security cms -D -i "mobileprovision文件" > "entitlements文件"

具体操做命令:

security cms -D -i /../embedded.mobileprovision > entitlements_full.plist

二、获取其中的Entitlements字段

终端命令:

/usr/libexec/PlistBuddy -x -c 'Print:Entitlements' entitlements_full.plist > entitlements.plist

三、文件生成后放一边,下面的重签名步骤会用到

解压ipa包

unzip game.ipa

重签名

把上面生成的entitlements.plist写入

/usr/bin/codesign --continue -f -s "证书" --entitlements "entitlements文件" "须要签名的app文件"

通常操做:

/usr/bin/codesign --continue -f -s "iPhone Distribution: ***" --entitlements entitlements.plist Payload/game.app

打包

zip -r sigined.ipa Payload

其余

如下命令获取对应app的entitlements信息并用打印,打印内容可用于建立entitlements.plist文件

codesign -d --entitlements - Payload/XXX.app

相关文章
相关标签/搜索