做过IOS开发的朋友都知道,上appstore的ipa包,是用苹果个人账号签名的,除非加入设备信息,不然无法用itemServices直接装到手机上,而企业签名包则可以直接装到任何苹果设备上(前提是需要用户手动信任对应的企业证书)。
苹果企业开发者和appstore的appID(就是常说的包名)是不能重复了,但是比如微信支付、微信登录等需要绑定对应的包名,app换了包名,就需要换对应的微信服务,对于调试app的功能就没那么方便了,因此就有人想研究有没有可能让同包名的appstore和企业信任包同时存在,笔者也是其中之一。
经过了n多次失败的尝试,笔者终于实现了功能,当然这也说明苹果的签名验证机制并不完善(不知道苹果什么时候能修复这个bug),过程如下:
1、用企业证书创建一个appID,如果你之前的ipa包名为a.b.c,那么就再创建一个a.b
2、用刚刚创建的appID创建一个对于的mobileprovision文件
3、打开iReSign(此软件只能在mac上打开),界面如下

用户只需要填写ipa的路径,mobileprovision的路径,证书,
x.plist和appID不需要填写,
然后选择重新签名,稍等一会,就会生成新的ipa。
新的ipa能够实现企业包安装到任意苹果设备,又具备老的包名。
本文介绍了一种使同包名的iOS企业签名应用与AppStore应用共存的方法,通过创建新的appID和mobileprovision文件,使用iReSign重新签名ipa包,实现在任意苹果设备上安装企业版应用,同时保留AppStore版应用。
1401

被折叠的 条评论
为什么被折叠?



