【问题标题】:WARNING ITMS-9000: "Potential Loss of Keychain Access"警告 ITMS-9000:“钥匙串访问的潜在损失”
【发布时间】:2014-11-20 08:43:48
【问题描述】:

我在上传新版本的应用程序时收到以下警告:

警告 ITMS-9000:“可能丢失钥匙串访问。以前版本的软件的应用程序标识符值为 ['52T2NMS37N.com.(my-app-id)'] 并且正在提交新版本的软件有一个应用标识符['FCGA72C62G.com.(my-app-id)。这将导致丢失钥匙串访问。更多信息请咨询(url)"。

问题可能是因为应用程序已转移到另一个帐户。

上传的版本带有警告,但这是什么意思?

【问题讨论】:

标签: ios xcode app-store-connect


【解决方案1】:

如果您将应用从一个组织转移到另一个组织:

注意:如果切换 App ID 前缀,keychain 数据会一次性丢失

https://developer.apple.com/library/archive/technotes/tn2311/_index.html#//apple_ref/doc/uid/DTS40014135-CH1-A_ONE_TIME_LOSS_IN_KEYCHAIN_DATA_WILL_OCCUR_IF_YOU_SWITCH_YOUR_APP_ID_PREFIX

【讨论】:

    【解决方案2】:

    我也有同样的警告。就我而言,我有一个通配符应用标识符。

    首先我找到了这个 appID '5E4D3C2B1A.com.company.app' 并将其删除。然后我创建了新的 appID,但将 teamID 更改为“A1B2C3D4E5”。结果,我得到了一个正确的 appID,例如“A1B2C3D4E5.com.company.app”。 然后我重新生成所有配置文件,一切正常。应用在生产中没有奇怪的行为。

    但是,请注意,我是用通配符做的,我不确定使用明确的应用程序标识符是否一切都会好起来。

    【讨论】:

      【解决方案3】:

      来自 Apple 的文档存档,Resolving the Potential Loss of Keychain Access warning

      钥匙串访问的潜在损失。以前版本的软件的应用标识符值为“A1B2C3D4E5.com.company.app”,而提交的新版本软件的应用标识符值为“5E4D3C2B1A.com.company.app”。这将导致丢失钥匙串访问权限。

      注意:这是一个警告,而不是错误。您可以选择继续提交而不考虑这个警告,但是应该使用本文档来确定您是否可以安全地忽略它。 此警告表示待提交的 App ID 前缀与应用商店中正在运行的应用的 App ID 前缀不同。

      重要提示:唯一可以安全忽略此警告的应用是那些不使用依赖 App ID 前缀的技术的应用,例如钥匙串访问、Handoff 和 UIPasteboard 共享。

      注意:将其 App ID 从任意 Bundle Seed ID 迁移到其更现代的 Team ID 的应用应该会收到此警告,然后继续提交。

      对于确实使用依赖 App ID 前缀的技术的应用,不应忽略此警告。钥匙串访问的潜在丢失警告表明该应用是使用错误的配置文件进行代码签名的。

      解决问题:

      1. 您必须在 Certs IDs & Profiles 网站上找到或重新创建使用正确 App ID 前缀的配置文件。
      2. 单击配置文件上的编辑以确保前缀正确。
      3. 点击下载并将配置文件保存到磁盘。
      4. (可选)使用终端命令在下载的配置文件上仔细检查 App ID 前缀:How do I check the entitlements associated to my Provisioning Profile?
      5. 将配置文件拖到 Dock 上的 Xcode 图标上进行安装。
      6. 重新提交应用并使用与正确前缀关联的新恢复的配置文件对其进行代码签名。

      “钥匙串访问”是指钥匙串服务参考中的所有功能。

      【讨论】:

      • 嗨,我也收到此错误,我从 frnd 转移了一个应用程序,并尝试更新构建。我创建了新的配置文件,但仍然出现相同的错误。我错过了什么?
      • 很好的答案非常详细并帮助了我。
      • 对我来说这不是解决方案。我必须找到与应用程序的原始版本相关联的应用程序 ID,然后将其链接到活动分发配置文件。
      • 所有这些步骤仍在发生之后
      【解决方案4】:

      我遇到了同样的问题,最终通过删除 ~/Library/MobileDevice/Provisioning Profiles 中的临时配置文件来解决。然后从开发者资料下载新的。

      转到 Finder 然后列出项目 从“转到”菜单向下导航到“转到文件夹” 或从 Mac OS X 桌面或 Finder 窗口中按 Command+Shift+G

      在 Path ~/Library/MobileDevice/Provisioning Profiles 下面搜索

      删除包含错误 Bundle ID 的配置文件,如果您单击文件 MacOS X 将显示详细信息。您可以验证捆绑包 ID。

      【讨论】:

        【解决方案5】:

        当我尝试提交更新我的应用程序时发生此错误。我通过将Provisioning Profile 设置为特定的而不是默认的“自动”设置来实现这一点,这似乎使用了一些默认的 XC 设置。

        【讨论】:

          【解决方案6】:

          我认为前缀是与 Apple Id 的关系。我将我的 App 迁移到其他 Apple Id,当我重新创建 App Id 时,创建了一个新的前缀 Id。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-12-07
            • 1970-01-01
            • 2011-07-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-10-07
            • 2020-06-20
            相关资源
            最近更新 更多