xcode 由于团队ID前缀更改,无法更新已传输的iOS应用程序

qco9c6ql  于 2023-11-21  发布在  iOS
关注(0)|答案(1)|浏览(113)

我最近将一个现有的iOS应用程序从一个Apple Developer帐户转移到另一个帐户。转移成功,但我在尝试提交应用程序更新时遇到了障碍。
问题出在团队ID前缀上,该前缀已更改以匹配新的开发者帐户。在新帐户下生成的新配置文件会自动使用此新的团队ID前缀。因此,我无法向仍使用旧团队ID前缀的现有应用提交更新。
更新:
让我用一个虚构的例子来澄清我的问题:
假设我在一个团队ID前缀为“1234”的帐户下有一个名为“OldApp”的应用程序。此应用程序被转移到一个新帐户,该帐户的团队ID前缀为“5678”。现在使用新帐户,我需要发布“OldApp”的更新,但在新帐户下生成的配置文件自动使用新的团队ID前缀“5678”。
问题是,用户设备上现有的“OldApp”安装仍然与旧的团队ID前缀“1234”绑定。如果我使用新的团队ID前缀“5678”提交更新,现有用户将无法直接从App Store更新应用。
删除应用程序并提交新应用程序不是一种选择,因为这会破坏我们现有客户的用户体验。
有没有办法更新“OldApp”,以便现有用户(他们的应用程序带有旧的Team ID前缀“1234”)可以从App Store无缝更新它?
注意:删除应用程序不是一个选项,因为已经安装应用程序的现有客户需要能够从App Store更新它。
以前有人遇到过这个问题吗?在这种情况下,我如何更新现有的应用程序?有没有办法手动设置或恢复到这个特定应用程序的旧团队ID前缀?
更新2:
我怀疑尝试使用不同的Team ID更新应用程序会导致失败。这种信念源于我在测试过程中遇到的一个特定错误。在将App Store中的现有版本的应用程序安装到iPhone上后,我尝试在Xcode中针对同一设备构建和运行项目。对于此测试,我在Xcode中选中了“自动管理签名”选项。
我遇到了以下错误:

Unable to install 'MyApp'
Domain: com.apple.dt.MobileDeviceErrorDomain
Code: -402652994
User Info: {
    DVTErrorCreationDateKey = "2023-10-04 17:42:48 +0000";
    IDERunOperationFailingWorker = IDEInstalliPhoneLauncher;
}
--
This application’s application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed.
Domain: com.apple.dt.MobileDeviceErrorDomain
Code: -402652994
User Info: {
    DVTRadarComponentKey = 261622;
    MobileDeviceErrorCode = "(0xE80000BE)"
    
    ...
}

字符串
该错误消息明确指出“application-identifier entitlement does not match that of the installed application”,并强调这些值必须一致才能继续升级。鉴于此,我担心更改Team ID会阻碍当前用户从App Store下载更新时成功更新应用的能力。

izj3ouym

izj3ouym1#

你说
假设我在一个团队ID前缀为“1234”的帐户下有一个名为“OldApp”的应用程序。此应用程序被转移到一个新帐户,该帐户的团队ID前缀为“5678”。现在使用新帐户,我需要发布“OldApp”的更新,但在新帐户下生成的配置文件自动使用新的团队ID前缀“5678”。
这是正确的。为了澄清,应用程序的 * 名称 * 并不重要;应用程序由其 bundle id 标识。因此,假设它的bundle id为com.mydomain.oldapp
当前安装的捆绑包(ID为com.mydomain.oldapp)具有来自team1234的嵌入式配置文件
然后你说
问题是,用户设备上现有的“OldApp”安装仍然与旧的团队ID前缀“1234”绑定。如果我使用新的团队ID前缀“5678”提交更新,现有用户将无法直接从App Store更新应用。
这不正确。您已将应用程序转移到“team 5678”。App Store知道这一点。您提交新的捆绑包进行审核。Apple批准它,您在商店上提供此新版本。捆绑包ID仍然是com.mydomain.oldapp。App Store中的产品ID仍然相同。
当用户安装更新时,iOS只会查看捆绑包id -com.mydomain.oldapp。嵌入的配置文件来自不同的团队并不重要。
用户可能遇到的唯一问题是密钥链数据丢失;如果您的应用在密钥链中存储了数据,则由于团队ID已更改,更新将无法访问该数据。这是不可避免的。您的应用将需要采取任何必要的步骤来重新创建密钥链数据(例如,让用户重新登录)。
Apple在应用程序传输过程中提供了documentation,但由于您的传输已经完成,因此无法执行其中的许多任务。
从你更新的问题中,我可以看到你在Xcode中尝试安装来自新团队的构建版本时出现错误。这与用户安装App Store签名的构建版本非常不同。
您不能切换团队并从Xcode安装更新。您必须首先从设备上删除应用程序,然后从新团队安装新版本。
这不是App Store安装和升级的问题。

相关问题