iOS IPA 重签名包使用

特别强调 : 证书 和描述文件 必须是企业证书下的。不要搞错


企业证书创建方式: hoc 方式  描述文件 in house 方式

第一步:进入企业账号


到这一步证书已经申请完成,接下来我们申请企业描述文件 appid 申请自己看百度。很简单




证书和描述文件创建好就可以用来接下来的重签名

第二步:下载iReSign 工具 

iReSign运行界面:

iReSign 地址github

需要准备的文件:

appName.ipa: 要重签名的ipa

embedded.mobileprovision: 用来签名的provision文件

entitlements.plist: 授权机制

distributionName: 指该签名对应的证书的名字,在keychain中可以找到对应证书的名称

操作步骤:

步骤一:按照iReSign程序界面提示,载入各个文件。


注意:

1.mobileprovision文件名字可以随便取,iReSign程序在将mobileprovision文件拷贝到app中时会重命名为embedded.mobileprovision。

2.第三行entitlement.plist必须填写,不然会一直卡在Entitlements generated。

3.不需要修改BundleID时,修改ID前面的CheckBox不要勾选。

步骤二:点击“重新签名!”按钮

稍等一会就会生成example-resigned.ipa新的ipa文件。


entitlement.plist 生成方式  拷贝出来的ipa 包 后缀名改为zip 解压包

解压出来成 payload 文件夹


终端代码:

复制到终端

/usr/libexec/PlistBuddy -x -c "print :Entitlements " /dev/stdin <<< $(security cms -D -i cashloanApp.app/embedded.mobileprovision) > Entitlements.plist

cashloanApp.app 是 Payload 下面 cashloanApp 的名称

会直接生成 Entitlements.plist 文件点击打开 生成后在Payload 文件夹下


打开Entitlements.plist 文件


到这里就已经生成完成plist 文件。第三步选择的时候导入PayLoad 文件夹下Entitlements.plist路径


可能遇到的问题:

问题一:Error:Product identifiers don't match

解决方法:

可以将源码中的这个判断去掉。


二:App installation failed


解决方法:

查看Entitlements.plist文件中的application-identifier的BundleID是不是用来重签名证书上的BundleID。


过程中没有遇到这些问题就已经成功了。生成文件会在ipa 文件包里展示


到这里已经大功告成。

你可能感兴趣的:(iOS IPA 重签名包使用)