iOS证书学习推荐博客本文重点在於介绍ios8.1.3系统ipa包重签名(如企业证书)无法安装的问题。苹果在iOS8.1.3系统以后加强了对ipa安装包签名的验证主要区别在于ipa唯一标识在原有Bundle Identifier的基础上增加了证书ID,也就说安装包和手机上已安装APP的Bundle Identifier即使一致如果两者签名的证书ID不相同,那么安装包也无法正常安装证书ID是什么?
图中方框裏字符串就是证书ID升级后的ipa标识就是证书ID+BundleID,只有两者完全匹配安装包才能覆盖安装,否则就会提示安装失败解决办法就是卸载安装包,重新安装!
目前重签名主要用于企业证书重签名个人证书发布的ipa包,包括各种助手及企业内测包的发布等在重签名前,让我们先看看一个完整的ipa包有哪些与证书相关的东西!打开ipa包会发现_CodeSignature和embedded.mobileprovision两个文件
因此,替换上面两个文件就解决了ipa重签名的主要问题此外,文Φ还提到entitlements.plist授权文件重签名时也需要处理。按照下图内容创建plist文件输入相关信息。
整个签名过程如下(文件路径自定义)
2、替换证书配置文件(文件名必须为embedded不得自定义)
3、重签名(certifierName为重签名证书文件名,可以加证书ID后缀)
很多朋友在重签名时会忽略第二步或者没有指萣entitlements.plist都会造成ipa包安装失败。如果有其它关于签名的问题可以在文章下面跟我留言!
喜欢请点赞->,谢谢你的来访!
9月22号更新有朋友反馈9.0無法打开的问题,可以访问
6月22号更新详情教程
12月21日,自从本文发布后收到了很多朋友的反馈,感谢大家很多朋友也提出了遇到的各種问题,再次需要补充两点
有些朋友希望修改bundle ID重签名据有些朋友说是可以的,不过我目前还不知道怎么做有知道的朋友可以告诉我,替各位谢谢了
其次有些朋友希望修改ipa包里的素材,然后再签名以我所知,这个貌似也行不通