如果你想把一个ipa文件安装到自己的手机上(别人发你的或者从第三方商店下载的...)你的手机如果没有越狱是无法正常安装的(排除企业证书分发), 我们可以通过为ipa重签名实现,原理是将我们自己的证书打进ipa。
IPA重签名步骤
下面我们以qq.ipa为例
(1)解压qq.ipa 找到Payload文件
unzip qq.ipa //命令行解压
(2)将Payload目录中的_CodeSignature文件删除
rm -rf Payload/*.app/_CodeSignature/
(3)将自己app打包导出ipa文件 解压后找到 embedded.mobileprovision 文件 并替换qq.ipa中的embedded.mobileprovision 文件
cp embedded.mobileprovision Payload/*.app/embedded.mobileprovision
(4)重新签名,“iPhone Distribution: XXXXXX”这个指的是自己的embedded.mobileprovision文件用到的签名证书名称,在xcode或钥匙串中可以找到
/usr/bin/codesign -f -s "iPhone Distribution: XXXXXX" --resource-rules Payload/*.app/ResourceRules.plist Payload/*.app/
(5)重新打包
zip -r qq.ipa Payload
/rm -rf Payload/
提示:只支持在mac上重新签名
网友评论
https://github.com/InjoyDeng/ResignTool
iPhone Distribution:XXXXXX: no identity found
大神,这个怎么解决的
Warning: --resource-rules has been deprecated in Mac OS X >= 10.10!
求大神解答一下
但是报错说 :
cp: embedded.mobileprovision: No such file or directory
我手动找 QQ.app里也没有embedded.mobileprovision这个文件
请问我哪里做错了?我是把自己"embedded.mobileprovision"的防盗和 QQ.app 同级文件下, cd到 QQ.ipa执行的