【已解决】对开启keychain sharing功能的ipa进行重签后初始化失败,如何通过在ipa中关闭keychain sharing或修改keychain groups

需求:
需要对开启了keychain sharing的ipa进行重签名,并且ipa能正常安装运行(没有源码,所以无法再Xcode中关闭keychain sharing)

操作步骤:
1.将ipa下载后使用签名工具对其企业重签名
2.安装到未越狱iPhone上可正常启动
3.APP提示初始化失败,需要修改keychain groups

签名环境: 在MAC上使用签名脚本进行重签
运行环境:iPhone 6s未越狱

重签名后运行效果如图,提示初始化失败
原包下载链接:tsjy.ipa_免费高速下载|百度网盘-分享无限制

IMG_0004.PNG

改Info.plist 或entitlement 文件试试
这个初始化失败的提示。。。这么人性化。。。

已经解决了~谢谢哈

可以把解决方法告诉小黄鸭么

我也想知道解决方法,应该是只能用企业账号重新生成一个配置文件才行吧?

个人账号也是可以的

解决方法:
使用codesign命令对原包.app读取生成授权文件,命令如下:
codesign -d --entitlements :app.entitlements 需要重签.app #这一步会生成一个原包的授权文件
再根据你的配置文件生成一个相对应的授权文件,使用PlistBuddy工具:
/usr/libexec/PlistBuddy -x -c "print :Entitlements " /dev/stdin <<< $(security cms -D -i 配置文件.mobileprovision}) > mobileprovision.entitlements
产出以上两个授权文件后,读取新授权文件的TeamID,然后修改原包授权文件的keychain-access-groups,把原TeamID替换为你的就行了。别忘了同时要修改application-identifier和com.apple.developer.team-identifier哦!
之后使用在原授权文件的基础上修改的文件加上证书对ipa进行重签就行啦!

2 个赞

看底部我的回复