xcode 警告ITMS-9000:“可能丢失钥匙串访问权限”

hs1rzwqc  于 2023-01-14  发布在  其他
关注(0)|答案(7)|浏览(229)

我在上传新版本的应用程序时收到以下警告:
警告ITMS-9000:"可能丢失钥匙串访问权限。以前版本的软件具有应用程序标识符值['52T2NMS37N.com.(my-app-id)'],而正在提交的新版本软件具有应用程序标识符['FCGA72C62G.com.(my-app-id)。这将导致丢失钥匙串访问权限。有关详细信息,请访问(url)"。
问题可能是因为应用程序已转移到另一个帐户。
构建版本上载时带有警告,但这意味着什么?

wtlkbnrh

wtlkbnrh1#

来自Apple的文档归档,位于Resolving the Potential Loss of Keychain Access warning
可能无法访问钥匙串。以前版本的软件具有应用程序标识符值“A1B2C3D4E5.com.company.app”,而正在提交的新版本软件具有应用程序标识符值“5E4D3C2B1A.com.company.app”。这将导致无法访问钥匙串。

**注意:这是一个警告,而不是错误。**您可以选择忽略此警告继续提交,但是应使用此文档来确定您是否可以安全地忽略它。此警告表示挂起提交的应用ID前缀与应用商店中的实时应用的应用ID前缀不同。
重要事项:只有不使用依赖于App ID前缀的技术(如钥匙串访问、Handoff和UIPasteboard共享)的应用才可以安全地忽略此警告。
**注意:**正在将其应用ID从任意捆绑包种子ID迁移到更现代的团队ID的应用应收到此警告,并继续提交。

对于使用依赖于应用ID前缀的技术的应用,不应忽略此警告。“可能丢失钥匙串访问权限”警告表示应用是使用错误的预配配置文件进行代码签名的。

要解决此问题:

1.您必须在证书ID和配置文件网站上找到或重新创建使用正确应用程序ID前缀的预置配置文件。
1.单击配置文件上的“编辑”以确保前缀正确。
1.单击下载并将配置文件保存到磁盘。
1.也可以使用以下位置中的终端命令仔细检查下载的配置文件上的应用程序ID前缀:如何检查与预配概要文件关联的权利?
1.将描述文件拖到Dock上的Xcode图标上进行安装。
1.重新提交应用程序,并使用与正确前缀关联的新恢复的配置文件对其进行代码签名。
“钥匙串访问”指的是《钥匙串服务参考》中的所有功能。

vfwfrxfs

vfwfrxfs2#

我认为前缀是与苹果ID的关系。我将我的应用程序迁移到其他苹果ID,当我重新创建应用程序ID时,创建了一个新的前缀ID。

2lpgd968

2lpgd9683#

这个错误发生在我试图提交更新我的应用程序时。我通过将Provisioning Profile设置为一个特定的设置而不是默认的“自动”设置(似乎使用了一些默认的XC设置)来获得此工作。

uemypmqf

uemypmqf4#

如果您已将应用从一个组织转移到另一个组织:
注意:如果您切换应用程序ID前缀,则会发生钥匙串数据的一次性丢失
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

siotufzp

siotufzp5#

我也遇到了同样的问题,最后通过删除~/Library/MobileDevice/Provisioning Profiles中的临时配置文件来解决。然后从开发人员配置文件中下载新的。
从“转到”菜单向下导航到“转到文件夹”,或在Mac OS X桌面或Finder窗口中按Command+Shift+G
在路径~/Library/MobileDevice/预配描述文件下搜索
删除具有错误捆绑包ID的配置文件,如果您单击文件,MacOS X将显示详细信息。您可以验证捆绑包ID。

b1uwtaje

b1uwtaje6#

我有同样的警告。在我的情况下,我有一个通配符应用程序标识符。
首先,我找到了这个appID“5E4D3C2B1A.com.company.app”并将其删除。然后,我创建了新的appID,但将teamID更改为“A1B2C3D4E5”。结果,我得到了一个正确的appID,如“A1B2C3D4E5.com.company.app”。然后,我重新生成了所有配置文件,一切正常。应用程序在生产中没有奇怪的行为。
但是,请注意,我使用了通配符,我不确定显式应用程序标识符是否一切正常。

mnemlml8

mnemlml87#

这是一个警告,而不是一个问题,当我得到这个错误,我的建设是公布试飞的方式。

场景-当您将应用程序从一个帐户传输到另一个帐户,然后将构建版本发布到appstore时,会出现此错误

相关问题