应用转移账号后提交出现ITMS-90076钥匙串访问丢失警告如何解决
ITMS-90076 报错修复方案
ITMS-90076: Potential Loss of Keychain Access - 旧版本软件的application-identifier值为['test.iosapp'],当前提交的新版本application-identifier为['newTest.iosapp'],这将导致钥匙串访问丢失。
报错根因
该错误出现于App跨App Store Connect账号转移后提交更新的场景,application-identifier的标准格式为<Team ID>.<Bundle ID>,转移账号后App归属的开发者Team ID发生变更,导致该标识符前缀变化,苹果校验时检测到差异就会触发该报错,避免用户钥匙串数据丢失。
修复步骤
- 确认Bundle ID完全匹配:新账号下的App Bundle ID必须和旧版本完全一致,仅Team ID发生变化属于正常转移场景,不要修改Bundle ID本身
- 配置Keychain Sharing兼容旧标识:打开Xcode项目的「Signing & Capabilities」页,开启「Keychain Sharing」能力,依次添加两个标识符到列表中:
- 新版本的
application-identifier值:newTest.iosapp(放在第一位,作为当前版本默认使用的标识) - 旧版本的
application-identifier值:test.iosapp(放在后续位置,用于兼容旧版本的钥匙串访问权限)
- 新版本的
- 校验Entitlements文件配置:打开项目对应的
.entitlements文件,确认keychain-access-groups数组配置正确,示例如下:<key>keychain-access-groups</key> <array> <string>newTest.iosapp</string> <string>test.iosapp</string> </array> - 重新打包提交:清理Xcode缓存(快捷键
Shift + Command + K),重新执行Archive操作,使用新账号的发布证书签名后提交到App Store Connect即可,校验时不会再抛出该错误。
后续优化提示
本次提交通过后,后续版本更新时可以移除钥匙串访问组里的旧标识test.iosapp,不会再触发该报错,也不会影响用户的钥匙串数据访问。
内容的提问来源于stack exchange,提问作者Zuka Gaprindashvili
相关产品推荐
相关产品推荐

