ios 警告 ITMS-9000:“钥匙串访问的潜在丢失”
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/26040906/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
WARNING ITMS-9000: "Potential Loss of Keychain Access"
提问by deko
I've got the following warning while uploading a new version of the application:
我在上传新版本的应用程序时收到以下警告:
WARNING ITMS-9000: "Potential Loss of Keychain Access. The previous version of software has an application-identifier value of ['52T2NMS37N.com.(my-app-id)'] and the new version of software being submitted has an application-identifier of ['FCGA72C62G.com.(my-app-id). This will result in a loss of keychain access. For more information, please consult (url)".
警告 ITMS-9000:“钥匙串访问的潜在丢失。先前版本的软件具有 ['52T2NMS37N.com.(my-app-id)'] 的应用程序标识符值,并且正在提交的新版本软件具有应用程序- ['FCGA72C62G.com.(my-app-id)的标识符。这将导致钥匙串访问丢失。更多信息,请咨询(url)"。
The issue may be because the application was transferred into another account.
问题可能是因为应用程序被转移到另一个帐户。
The build was uploaded with the warning, but what does it mean?
构建与警告一起上传,但这是什么意思?
回答by OrdoDei
From Apple's Documentation Archive, on Resolving the Potential Loss of Keychain Access warning
来自 Apple 的文档档案,关于解决钥匙串访问警告的潜在丢失
Potential Loss of Keychain Access. The previous version of software has an application-identifier value of 'A1B2C3D4E5.com.company.app' and the new version of software being submitted has an application-identifier of '5E4D3C2B1A.com.company.app'. This will result in a loss of keychain access.
Note: This is a warning, not an error.You have the option of proceeding with the submission regardless of this warning, however this document should be used to determine whether you can safely ignore it. This warning indicates that the App ID prefix of the pending submission differs from the App ID prefix of the live app in the app store.
Important: The only apps that can safely ignore this warning are those that do not use technologies that rely on the App ID prefix, like keychain access, Handoff, and UIPasteboard sharing.
Note:Apps that are migrating their App ID from an arbitrary Bundle Seed ID to their more-modern Team ID should expect this warning, and proceed with the submission.
For apps that do utilize technologies that rely on the App ID prefix, this warning should not be ignored. The Potential Loss of Keychain Access warning is an indication that the app was code signed with the wrong provisioning profile.
To resolve the problem:
- You must locate or re-create a provisioning profile that uses the correct App ID prefix on the Certs IDs & Profiles website.
- Click Edit on the profile to be certain the prefix is correct.
- Click Download and save the profile to disk.
- Optionally double check the App ID Prefix on the downloaded profile using the Terminal command in: How do I check the entitlements associated to my Provisioning Profile?
- Drag the profile onto the Xcode icon on your Dock to install it.
- Re-submit the app and code sign it with the newly restored profile that is associated to the right prefix.
"Keychain access" refers to all the functions in the Keychain Services Reference.
钥匙串访问的潜在损失。以前版本的软件的应用程序标识符值为“A1B2C3D4E5.com.company.app”,提交的新版本软件的应用程序标识符值为“5E4D3C2B1A.com.company.app”。这将导致丢失钥匙串访问。
注意:这是警告,而不是错误。无论此警告如何,您都可以选择继续提交,但应使用此文档来确定您是否可以安全地忽略它。此警告表示待提交的 App ID 前缀与应用商店中直播应用的 App ID 前缀不同。
重要提示:唯一可以安全忽略此警告的应用程序是那些不使用依赖于应用程序 ID 前缀的技术的应用程序,例如钥匙串访问、Handoff 和 UIPasteboard 共享。
注意:将其 App ID 从任意 Bundle Seed ID 迁移到其更现代的 Team ID 的应用程序应该会收到此警告,然后继续提交。
对于使用依赖于 App ID 前缀的技术的应用程序,不应忽略此警告。钥匙串访问的潜在丢失警告表明应用程序使用错误的配置文件进行了代码签名。
要解决问题:
- 您必须在证书 ID 和配置文件网站上找到或重新创建使用正确 App ID 前缀的配置文件。
- 单击配置文件上的编辑以确保前缀正确。
- 单击下载并将配置文件保存到磁盘。
- 可以选择使用终端命令仔细检查下载的配置文件上的 App ID 前缀:如何检查与我的配置文件关联的权利?
- 将配置文件拖到 Dock 上的 Xcode 图标上进行安装。
- 重新提交应用程序并使用与正确前缀关联的新恢复的配置文件对其进行代码签名。
“钥匙串访问”是指钥匙串服务参考中的所有功能。
回答by David Douglas
This error happened when I tried to submit an update my app. I got this working by setting the Provisioning Profile
to a specific one instead of the default 'Automatic' setting which seems to use some default XC one.
当我尝试提交更新我的应用程序时发生此错误。我通过将 设置Provisioning Profile
为特定的而不是默认的“自动”设置来实现这一点,该设置似乎使用了一些默认的 XC 设置。
回答by westrada
I think that the prefix is relationship to Apple Id. I migrate my App to other Apple Id and when i re create the App Id, was created a new prefix Id.
我认为前缀是与 Apple Id 的关系。我将我的 App 迁移到其他 Apple Id,当我重新创建 App Id 时,创建了一个新的前缀 Id。
回答by Ram G.
I had same issue, finally resolved by deleting the provisional profile at ~/Library/MobileDevice/Provisioning Profiles. and then downloading new from developer profile.
我遇到了同样的问题,最终通过删除 ~/Library/MobileDevice/Provisioning Profiles 中的临时配置文件来解决。然后从开发者资料下载新的。
Go to the Finder then List item From the “Go” menu navigate down to “Go to Folder” or Hit Command+Shift+G from the Mac OS X desktop or a Finder window
转到 Finder 然后列出项目 从“转到”菜单向下导航到“转到文件夹”或从 Mac OS X 桌面或 Finder 窗口按 Command+Shift+G
Search below Path ~/Library/MobileDevice/Provisioning Profiles
在路径 ~/Library/MobileDevice/Provisioning Profiles 下面搜索
Delete the profile which has wrong Bundle ID, if you click on file MacOS X will show details. You can verify the bundle ID.
删除 Bundle ID 错误的配置文件,如果您单击文件 MacOS X 将显示详细信息。您可以验证捆绑 ID。
回答by Taras
I had the same warning. In my case I have a wild cardapplication identifier.
我有同样的警告。就我而言,我有一个通配符应用程序标识符。
So first of all I found this appID '5E4D3C2B1A.com.company.app' and removed it. Then I created new appID, but change teamID to 'A1B2C3D4E5'. As result I got a correct appID like this 'A1B2C3D4E5.com.company.app'. Then I regenerate all provision profile and everything works well. App didn't have strange behaviour in production.
所以首先我找到了这个 appID '5E4D3C2B1A.com.company.app' 并将其删除。然后我创建了新的 appID,但将 teamID 更改为“A1B2C3D4E5”。结果,我得到了一个正确的 appID,如“A1B2C3D4E5.com.company.app”。然后我重新生成所有配置文件,一切正常。应用程序在生产中没有奇怪的行为。
But, pay attention please, I did it with wild card and I'm not sure if everything will be well with explicit application identifier.
但是,请注意,我是用通配符完成的,我不确定使用显式应用程序标识符是否一切正常。