如果你想把一个ipa文件安装到自己的手机上(别人发你的或者从第三方商店下载的…)你的手机如果没有越狱是无法正常安装的(排除企业证书分发), 我们可以通过为ipa重签名实现,原理是将我们自己的证书打进ipa。
朋友发给了我一个用于上架的ipa包,现在我来做个测试,把这个上架appstote的包进行重签名,用我自己的证书进行签名,然后安装到我手机中。为了证明这是一个准备上架appstore的ipa包,我先上传到蒲公英上,如下图所示:
现在我们开始来进行重签名。
第一步:先将ipa包进行解压。
选中ipa包,右键 -> 打开方式 -> 解压,如下图所示:
第二步:替换 embedded.mobileprovision文件。
我们需要将自己打包中的embedded.mobileprovision文件替换掉目标ipa中的embedded.mobileprovision。
进入到目标ipa的文件目录下面,我们可以看到有一个embedded.mobileprovision文件,如下图所示:
找一个我们自己打包的ipa包,然后进行解压,进入到ipa的文件目录下,我们同样可以发现一个embedded.mobileprovision文件,如下图所示:
然后将我们自己的embedded.mobileprovision文件替换掉目标ipa文件中的embedded.mobileprovision。
第三步:进行重签名。
重新签名,“iPhone Distribution: XXXXXX”这个指的是自己的embedded.mobileprovision文件用到的签名证书名称,在xcode或钥匙串中可以找到。
输入命令行:
首先进入包的文件目录下
codesign -f -s 证书名字 目标文件
YuanCandeMacBook-Pro:ZhiKe yuancan$ codesign -f -s "iPhone Distribution: Hunan Youpaipai Network Technology Co., Ltd. (68AQ9PBKQK)" /Users/yuancan/Desktop/ZhiKe/ZhiKe/Payload/ZhiKe.app
- 1
成功之后会提升你替换了签名,如下所示:
/Users/yuancan/Desktop/ZhiKe/ZhiKe/Payload/ZhiKe.app: replacing existing signature
- 1
第四部:重新打包。
命令行:zip -r qq.ipa Payload
YuanCandeMacBook-Pro:ZhiKe yuancan$ zip -r test.ipa Payload
- 1
如下图所示:
这个就是重签名之后的ipa包。我们上传到蒲公英检验一下是否重签名成功了。