重签是把已发布/未发布的包重新签名为自己的证书和签名,关键就是替换ipa内的证书和描述文件。手动签名可以研读这篇文章—-IOS重签名原理

主要通过codesign命令完成。值得说明的是:我们要想对ipa进行重签名,那么这个ipa包一定是未被加密过的,如何查看是否被加密过?使用如下命令:

%title插图%num

因为重签名是替换原有的签名(不了解的可以研读这篇文章:https://blog.csdn.net/lwb102063/article/details/110661830),所以我么这里需要准备如下文件,来替换原来的签名:

1、 ipa文件(App Store下载的请自行”砸壳”)

2、 .mobileprovision文件

3、 .p12文件

4、 从iOS App Signer的 Github 仓库 上将其clone下来

使用iOS App Signer进行重签名还是比较方便的,具体参看文章iOS ipa重签名工具 – iOS App Signer,只要一步一步来就可以签名成功,签名后打包成ipa,我们可以使用iFunBox或者Apple Configuration 2进行安装,不清楚的可以看下这篇文章:https://blog.csdn.net/lwb102063/article/details/110739441

这里有一些注意点需要说明:
如果我们使用的是在Apple服务器购买的开发者账号,那么重签名选择的就是下载下来的mobileprovision文件,而且只需要把我们的bundleId改一致就可以了,这个没问题。但是如果我们并没有花钱买开发者账号,那么我们用的mobileprovision文件就是临时的,怎么获取这个呢?

我们只需要新建一个工程,编译后生成app,把里面的embedd.mobileprovision拿出来用就可以了(注意别过期),拿出来以后使用iOS App Signer进行签名,打包ipa进行安装。

如果不出意外,安装结束后会提示失败,经过研究,发现报以下错误:

‘xxx ‘ is authorized by a free provisioning profile, but apps validated by those are not allowed to be installed from this source.
原因如下:

xcode升级到7.3,iOS更新到9.3后,生成的ipa文件是不可通过iTunes安装的,我们只能选择通过xcode进行安装。

即:打开Xcode,连接真机设备,然后window/device,选择要安装的ipa点击安装即可!另外一种就是用Xcode打开wex5中生成的Xcode项目文件,然后连接真机设备,编译运行即可!