特别强调 : 证书 和描述文件 必须是企业证书下的。不要搞错
企业证书创建方式: hoc 方式 描述文件 in house 方式
第一步:进入企业账号
到这一步证书已经申请完成,接下来我们申请企业描述文件 appid 申请自己看百度。很简单
证书和描述文件创建好就可以用来接下来的重签名
第二步:下载iReSign 工具
iReSign运行界面:
需要准备的文件:
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 文件包里展示
网友评论