iOS App企业证书重签名

 给ipa文件重新签名,首先我们需要申请企业证书,然后需要如下准备工作。


配置文件:embedded.mobileprovision

进入苹果开发者网站会员中心,依次进入如下图Distribution页面。 

iOS App企业证书重签名_第1张图片


我们会看到如下信息,我们需要记录下App ID,一般为com.XXX.XXX,将iOS Provisioning Profiles (Distribution) Donwload到本地,保存为embedded.mobileprovision。 

iOS App企业证书重签名_第2张图片


关于如何申请企业证书,创建Profile,请参考苹果官方文档。


证书信息

在本地电脑上,打开钥匙串访问,我的证书,找到Distribution(必须) 企业证书,如下图所示,需要记录下用户ID常用名称。 

iOS App企业证书重签名_第3张图片



命令行安装工具:fruitstrap

fruitstrap工具可以在命令行安装ipa文件到手机上,好处是可以看到安装进度,若安装失败,可以知道在什么位置失败的,便于查找原因。以下是git下载地址。

git clone https://github.com/sgleadow/fruitstrap-demo.git


授权文件:entitlements.plist

我们还需要生成一个授权文件,授权文件的作用是告诉签名工具如何对app进行签名。授权文件内容如下,要用到前面准备好的用户ID,App ID。 


iOS App企业证书重签名_第4张图片


到此所有的准备工作就完成了,下面我们把需要重签名的ipa解压缩,会得到一个Payload的目录,接下来就可以开始对App重新签名了。


修改 Info.plist

修改Bundle ID为前面准备好的App ID,保存。 



删除旧的签名文件和配置文件

删除App目录下的_CodeSignature,文件夹和embedded.mobileprovision文件,将前面准备好的embedded.mobileprovision拷贝到App目录下。


签名

我们用codesign命令,对app重新签名。证书使用前面记录下的证书常用名称。—entitlements使用前面生成的授权文件。

codesign -f -s "iPhone Distribution: Beijing XXXXXX Technology Co., Ltd." --entitlements entitlements.plist Payload/XXX.app


打包

zip -r XXX.ipa Payload


安装

fruitstrap-demo/bin/fruitstrap -d XXX.ipa

你可能感兴趣的:(iOS App企业证书重签名)