iOS开发-ipa重签(企业签)

重签一般有两种,一种是改bundle ID,一种是不改bundle ID,bundle ID的重要性大家都这道,而且轻易不能改动,所以我这里只写不改bundle ID的方法。

准备工作

首先你得有个苹果开发者证书
然后准备一个mobileprovision描述文件,可以在你的https://developer.apple.com/account/ios/certificate/上创建和下载
或者从Xcode中导出。
将准备好的xxx.mobileprovision文件重名为embedded.mobileprovision。

生成 entitlements.plist 文件

  1. 使用iReSign对进行重签名,然后将重签名后的包进行解压,得到entitlements.plist文件
  2. 通过mobileprovision文件生成:
    首先生成一个完整的plist文件
security cms -D -i embedded.mobileprovision > embedded.plist
iamge.png

我们实际上需要的是中间红线框的那部分,接下来执行

/usr/libexec/PlistBuddy -x -c 'Print:Entitlements'  embedded.plist > entitlements.plist

重签名

一切准备就绪,接下来开始进行签名操作了

  1. 解压ipa包(xxx.ipa为你的需要重签名的包)
unzip xxx.ipa
  1. 删除签名文件
rm -rf Payload/xxx.app/_CodeSignature/
  1. 替换配置文件
cp embedded.mobileprovision Payload/xxx.app/
  1. 签名
codesign -f -s "你的证书的名称" --entitlements entitlements.plist Payload/xxx.app

tip:证书的名称你可以通过mac自带的keychain Access钥匙串访问程序查看电脑上的证书。

  1. 打包
zip -r resign_xxx.ipa Payload/

tip:resign_xxx.ipa就是你重签的包了,名字可以随便起。

注意:企业包签名的话ipa

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容