转让 App

App 转让概述

当你将某个 App 出售给其他开发者,或想要将其移至其他 App Store Connect 账户或组织时,你需要转让该 App。

在整个转让过程中,你的 App 无需下架。App 在转让期间和转让后均保留其评论与评分,用户也可以继续访问后续的新版本。此外,App 的套装 ID 在 App 转让后保持不变——当 App 的构建版本上传后,其套装 ID 无法更新。

第 1 步:确认该 App 是否可以转让

App 必须符合所有 App 转让条件才能转让。

第 2 步:备份所有 App 信息

App 转让完成后,该 App 会从你的账户中移除,因此,请在转让前备份该 App 的所有信息。

第 3 步:发起 App 转让

App 转让由你组织中具有“账户持有人”职能的用户发起。进一步了解。

第 4 步:接受 App 转让

由接收方组织中的“账户持有人”接受 App 转让。进一步了解。

提供自动续期订阅的 App

提供自动续期订阅的 App 必须使用一个 App 专用共享密钥。

  • 发起 App 转让

    如果 App 提供自动续期订阅,请在发起转让前生成 App 专用共享密钥,然后将密钥分享给接收 App 的开发者账户中的用户。分享密钥后,发起 App 转让

  • 接受 App 转让

    如果你要接收的 App 提供自动续期订阅,请在接受 App 转让之前,联系转让发起人获取 App 专用共享密钥,以便你更新服务器设置并使用该密钥验证自动续期订阅。完成 App 转让后,请重新生成 App 专用共享密钥,仅供你组织内部使用。

使用钥匙串共享的 App

App 被转让后,如果接收方没有更新 App,则该 App 将继续使用原来的钥匙串共享。因此,接收方应重新构建钥匙串并提交 App 更新。如果该 App 的 Xcode 项目中定义了钥匙串群组,应将其改为由接收方创建的钥匙串群组(包含接收方的团队 ID)。用户更新了 App 后,系统无法查找到钥匙串中的验证令牌。此时用户需要重新登录,以便继续使用钥匙串共享功能。

采用通知推送服务的 App

用于推送通知的关联客户端 SSL 证书、TLS 证书验证令牌不会转让。如果该 App 采用了 Apple 推送通知服务(APNs),则接收方需要使用其开发者账户创建一个客户端 SSL 证书,方可重新启用该服务。

使用 Apple Pay 的 App

如果转让使用 Apple Pay 的 App,商家 ID 不会随 App 一起转让。只要原始证书有效,就能够继续进行交易。但提交更新时,接收方需要使用自己的账户创建新的商家 ID。

支持“通过 Apple 登录”的 App

在为 App 转让准备数据时,请为数据库中的所有用户生成转让标识符。你可以通过 Apple 提供的 REST 服务端点为你的用户生成转让标识符。

如果你已将 App 分组来为其启用“通过 Apple 登录”功能,请在发起转让之前取消 App 分组。

如果服务 ID 关联的 App 已配置“通过 Apple 登录”,则服务 ID 也将随 App 一同转让。如果你不希望转让服务 ID,请在发起转让之前移除服务 ID 与 App 之间的关联

借助 Mac Catalyst 创建的 App

如需转让通过 Mac Catalyst 创建且不提供通用购买项目的 App,请同时转让 iPad App(主要 App ID)和 Mac App(Mac Catalyst App ID)。

你需要先为 iPad App 发起转让,然后再为关联的 Mac App 发起转让。请务必将 Mac App 一并转让给接收方,因为接收方无法基于 iPad App 通过 Mac Catalyst 创建新的 Mac App。

使用“Apple 钱包”的 App

如果你的 App 分发 Apple 钱包凭证,且这些凭证需要从你的 App 或 Web 服务持续接收更新,则 App 转让完成后,你需要采用新的标识符重新签发凭证,以便使用与你 Apple Developer 账户相关联的证书为凭证签名。为减少给用户带来的不便,我们建议在你在 App 中推送通知信息,告知用户原来的凭证将会失效,并提醒用户在你的 App 或 Web 服务中重新下载凭证。

了解如何分发、更新和接受凭证。

查看有关设计提醒信息的建议。

使用 iCloud 的 App

如果你的 App 使用了以下内容,这些内容会在接收方接受 App 转让时,随 App 一同转让给接收方。

  • 用于存储用户数据的 iCloud

  • iCloud 容器

  • 与 App 关联的键值存储(KVS)标识符

如果你的账户中有多个 App 共用一个 CloudKit 容器,当其中一个 App 转让后,其他 App 将无法继续通过该 CloudKit 容器读取或存储数据。此外,转让方也将无法继续在 CloudKit Console 中访问已转让 App 的用户数据。在 App 转让之后,App 的任何更新均会导致 App 无法通过已转让的 CloudKit 容器读取或存储数据。

如果被转让的 App 使用 iCloud 键值存储(Key-Value Storage,简称“KVS”),则完整的 KVS 值将嵌入到你为该 App 新创建的所有预置描述文件中。请使用预置描述文件中的完整 KVS 值更新你的 entitlements.plist 文件。

了解如何使用 CloudKit 构建 App。

启用 Game Center 和 Apple Arcade 的 App

多玩家兼容性:添加了多玩家兼容性的 App 转让后不再与原来的 App 兼容,也不会继续显示在那些 App 的“多玩家兼容性”列表中。App 转让后,接收方必须为 App 添加多玩家兼容性,该 App 才能与接收方的其他 App 兼容匹配。

Game Center 群组:属于某个 Game Center 群组的 App 会在转让期间从该群组中移除。转让后,所有排行榜和成就均恢复为其原始状态。原为群组排行榜的排行榜会在其标识符中保留 grp. 前缀。转让完成后,接收方可以将 App 添加到其 Game Center 群组当中。

合并的排行榜:最初为单个排行榜,但后来合并为群组的排行榜会在 App 转让后去掉 grp. 前缀,并且恢复合并之前的原有排行榜 ID。App 转让后,接收方需要更新 App 构建版本并包含新的排行榜 ID,以确保分数正确显示。

玩家配对:玩家配对的配置不会随 App 一同转让。如需继续使用 Game Center 玩家配对功能,接收方必须在 App 转让后创建或修改配对规则

在第三方 App 市场上分发的 App

在发起 App 转让之前,转让方应先通知与该 App 相关的所有第三方 App 市场。转让方和接收方均有责任在 App 发生任何变更时通知第三方 App 市场。

如果转让的 App 在第三方 App 市场上分发,则转让开始之前,接收方必须在 App Store Connect 中添加相同的市场,并签署《Alternative Terms Addendum for Apps in the EU(针对在欧盟分发 App 的替代性条款附录)》,才能确保转让后 App 可继续供用户下载。转让方和接收方均需在转让前将相同的市场添加到 App Store Connect,转让后 App 才能在继续在该市场分发。

App 套装

如果转让 App 套装中的 App,你将无法再查看 App 套装的历史记录。转让 App 前,请务必记录你的 App 套装信息。

App 转让期间和转让后会发生什么

在 App 被转让后,与其相关联的 App ID 也会转让给接收方的开发者账户。如果转让方的 App ID 过去为通配符(Wildcard)App ID,则会转换为一个与该 App 的套装 ID 完全匹配的显式(Explicit)App ID。

转让方负责将实际代码集和构建版本素材直接交给接收方。请确保将 App 添加的所有功能或 App Store 配置告知接收方,例如钥匙串共享、Game Center,或推送通知,以便在将来的更新中保留这些功能。

请注意,无论 App 所有权状态如何,在转让 App 后,新增或额外的促销代码均无法使用。每个 App 版本只能生成 100 个促销代码,从代码生成之日起四周内有效。

销售和趋势及付款和财务报告数据

如果你转让了你的 App,你可以继续访问发生在转让前的付款和销售信息。你将无法访问转让完成后的销售信息。转让 App 的接收方只能收到转让完成后发生的交易付款和销售信息。

App 分析数据

当你将账户中的 App 转让给他人后,你将无法继续在“App 分析”中访问该 App 的数据,但你仍可在“销售和趋势”中找到 App 的历史数据。如果他人将 App 转让给你,你将可以看到该 App 自上架 App Store 后产生的所有分析数据(最早可追溯到2015年4月1日)。