iOS 应用传输后应用更新失败,出现 'rejecting upgrade' 错误
iOS application update failed after app transfer with 'rejecting upgrade' error
我的 iOS 应用程序从一个苹果账户转移到另一个苹果账户,导致团队 ID 发生变化。全新重新安装工作正常,但每次我安装更新时都会收到以下错误:
[MIInstallableBundle performVerificationWithError:]: 517: Upgrade's
application-identifier entitlement string (new_teamid.bundle.id) does
not match installed application's application-identifier string
(old_teamid.bundle.id); rejecting upgrade.
我发现 the solution 使用 'previous-application-identifiers' 密钥更新授权,并从 Apple 请求新的配置文件以便能够对应用程序进行签名:
<key>previous-application-identifiers</key>
<array>
<string>{Your Old App ID Prefix}.YourApp.Bundle.ID</string>
</array>
如果没有配置文件,我在安装过程中会遇到以下错误:
Failed to verify code signature of MIExecutableBundle path = path.app identifier = bundle_id type = 4 0xe8008016 (Entitlements found that are not permitted by provisioning profile)}
所以我联系了 Apple 并要求提供神奇的配置文件。
- 我是否找到了能够更新应用程序的正确解决方案?
- Apple 能否帮助我并提供配置文件?
- Apple 需要多长时间才能生成并提供配置文件?
最终我们能够得到Apple的明确回应和帮助。事实证明,不会提供神奇的配置文件,而是 Apple 支持转到我们的苹果开发者门户并调整 AppId
以具有旧的 TeamId
前缀。
因此,我们能够从我们这边用旧的 TeamId
和 rebuild/resign 应用程序重新生成新的 Provision Profile
。此后一切继续按预期工作,我们能够更新应用程序。
提示:我们花了数周时间通过电子邮件与 Apple 支持团队进行沟通,支持团队的几个人和 "special tech team" 正在努力帮助我们。事实证明,最有效的方法是直接致电 Apple 支持(指定案例编号)并通过 phone.
解决问题
我也遇到了同样的问题,给apple打电话了。他们告诉我是TestFlight的问题,你发布版本更新后就没有问题了。供应更新等任务将在发布期间处理。不过不知道真假,我们还没发布版本更新呢
更新
我们终于用另一个app测试了“Transfer App”的流程,忽略了TestFlight的“rejecting upgrade”错误,继续提交审核。发布后一切正常
对了,我们也连续一个星期天天给apple打电话发邮件,也只有那么客气的回复,却没有任何有用的提示。能自己测试就别指望苹果了
FWIW - 我们 运行 遇到了同样的问题,并通过致电 Apple Developer 支持并向他们提供确切的错误消息(来自 iPad日志)和其他详细信息(应用程序 ID 等)。我们还给了他们一个 link 这个 SO 线程。我们对 Apple 支持人员的响应能力和沟通能力感到非常满意,从而完成了这项工作。
这里没有提到的最重要的事情是,这实际上是苹果已知的行为。他们甚至在这里提到它:
https://developer.apple.com/library/content/technotes/tn2319/_index.html
可以通过以下步骤总结和解决:
我的 iOS 应用程序从一个苹果账户转移到另一个苹果账户,导致团队 ID 发生变化。全新重新安装工作正常,但每次我安装更新时都会收到以下错误:
[MIInstallableBundle performVerificationWithError:]: 517: Upgrade's application-identifier entitlement string (new_teamid.bundle.id) does not match installed application's application-identifier string (old_teamid.bundle.id); rejecting upgrade.
我发现 the solution 使用 'previous-application-identifiers' 密钥更新授权,并从 Apple 请求新的配置文件以便能够对应用程序进行签名:
<key>previous-application-identifiers</key>
<array>
<string>{Your Old App ID Prefix}.YourApp.Bundle.ID</string>
</array>
如果没有配置文件,我在安装过程中会遇到以下错误:
Failed to verify code signature of MIExecutableBundle path = path.app identifier = bundle_id type = 4 0xe8008016 (Entitlements found that are not permitted by provisioning profile)}
所以我联系了 Apple 并要求提供神奇的配置文件。
- 我是否找到了能够更新应用程序的正确解决方案?
- Apple 能否帮助我并提供配置文件?
- Apple 需要多长时间才能生成并提供配置文件?
最终我们能够得到Apple的明确回应和帮助。事实证明,不会提供神奇的配置文件,而是 Apple 支持转到我们的苹果开发者门户并调整 AppId
以具有旧的 TeamId
前缀。
因此,我们能够从我们这边用旧的 TeamId
和 rebuild/resign 应用程序重新生成新的 Provision Profile
。此后一切继续按预期工作,我们能够更新应用程序。
提示:我们花了数周时间通过电子邮件与 Apple 支持团队进行沟通,支持团队的几个人和 "special tech team" 正在努力帮助我们。事实证明,最有效的方法是直接致电 Apple 支持(指定案例编号)并通过 phone.
解决问题我也遇到了同样的问题,给apple打电话了。他们告诉我是TestFlight的问题,你发布版本更新后就没有问题了。供应更新等任务将在发布期间处理。不过不知道真假,我们还没发布版本更新呢
更新
我们终于用另一个app测试了“Transfer App”的流程,忽略了TestFlight的“rejecting upgrade”错误,继续提交审核。发布后一切正常
对了,我们也连续一个星期天天给apple打电话发邮件,也只有那么客气的回复,却没有任何有用的提示。能自己测试就别指望苹果了
FWIW - 我们 运行 遇到了同样的问题,并通过致电 Apple Developer 支持并向他们提供确切的错误消息(来自 iPad日志)和其他详细信息(应用程序 ID 等)。我们还给了他们一个 link 这个 SO 线程。我们对 Apple 支持人员的响应能力和沟通能力感到非常满意,从而完成了这项工作。
这里没有提到的最重要的事情是,这实际上是苹果已知的行为。他们甚至在这里提到它:
https://developer.apple.com/library/content/technotes/tn2319/_index.html
可以通过以下步骤总结和解决: