在上传应用程序的新版本时,我收到了以下警告:
警告 ITMS-9000: "潜在的密钥串访问丢失。先前版本的软件具有应用标识符值 ['52T2NMS37N.com.(my-app-id)'],而要提交的新版本的软件具有应用标识符为['FCGA72C62G.com.(my-app-id)']。这将导致密钥串访问丢失。欲了解更多信息,请参阅 (url)"。
问题可能是因为应用程序被转移到另一个帐户。
构建已上传并带有警告,但这意味着什么?
在上传应用程序的新版本时,我收到了以下警告:
警告 ITMS-9000: "潜在的密钥串访问丢失。先前版本的软件具有应用标识符值 ['52T2NMS37N.com.(my-app-id)'],而要提交的新版本的软件具有应用标识符为['FCGA72C62G.com.(my-app-id)']。这将导致密钥串访问丢失。欲了解更多信息,请参阅 (url)"。
问题可能是因为应用程序被转移到另一个帐户。
构建已上传并带有警告,但这意味着什么?
来自苹果文件档案库,关于解决潜在的密钥串访问丢失警告
潜在的密钥串访问丢失。上一个软件版本的应用标识值为“A1B2C3D4E5.com.company.app”,而正在提交的新软件版本的应用标识为“5E4D3C2B1A.com.company.app”。这将导致密钥串访问丢失。
注意:这是警告而非错误。您可以选择忽略此警告并继续提交版本,但是此文档应用于确定是否可以安全地忽略此警告。 此警告表示待提交版本的应用ID前缀与App Store中已发布应用的应用ID前缀不同。
重要提示:唯一可以安全忽略此警告的应用是那些不使用依赖于应用ID前缀的技术(如密钥串访问、Handoff和UIPasteboard共享)的应用程序。
注意:正在将其App ID从任意Bundle Seed ID迁移到更现代的Team ID的应用程序应该预期会收到此警告,并继续提交版本。
对于使用依赖于应用ID前缀技术的应用程序,不应忽略此警告。潜在的密钥串访问丢失警告表明该应用程序使用了错误的配置文件进行代码签名。
解决问题的方法:
- 您必须在Certs IDs&Profiles网站上查找或重新创建一个使用正确App ID前缀的配置文件。
- 单击要确定前缀是否正确的配置文件上的“编辑”。
- 单击“下载”并将配置文件保存到磁盘中。
- 可选地,使用终端命令在已下载的配置文件中双重检查App ID前缀。具体操作请参考:如何检查与我的配置文件关联的权限?
- 将配置文件拖放到Dock上的Xcode图标上安装它。
- 重新提交应用程序,并使用新恢复的与正确前缀相关联的配置文件对其进行代码签名。
"Keychain Access" 是指 Keychain Services 参考中的所有功能。
我认为前缀与Apple Id有关。当我将我的应用迁移到其他Apple Id时,重新创建应用ID时,会创建一个新的前缀ID。
我也遇到了同样的警告。在我的情况下,我有一个通配符应用程序标识符。
首先,我找到了这个appID '5E4D3C2B1A.com.company.app'并将其删除。然后我创建了新的appID,但将teamID更改为'A1B2C3D4E5'。结果,我得到了一个正确的appID,如'A1B2C3D4E5.com.company.app'。 然后我重新生成了所有的配置文件,一切都运行良好。应用程序在生产中没有奇怪的行为。
但是,请注意,我使用了通配符,我不确定明确的应用程序标识符是否会出现问题。