由于业务需要,需要将开发的App从一个账号(A账号)转移到另一个账号(B账号),这里简单介绍一下转让流程。主要包括两大步骤:
- 转让方(A账号)提出转让申请
- 接收方(B账号)接受转让App
如果不想看这篇流程,可以直接查看官方给出的一些资料,详情可参见 这里 。还可以看一下苹果官方就如何转让App给出的 回复邮件 。
如果不想看上面的东西,那就继续往下浏览。
现在具体说一下两个步骤以及中间遇到的坑。
1. 转让方(A账号)提出转让申请
首先打开iTunes Connect,然后找到你要转让的App,点击App信息,如下图:
点击转让App,就会进入一个查看你的App是否支持转让的页面:
我在转让的过程中出现这种情况,提示“TestFlight Beta 版测试”选项没有通过,按照他的提示,你需要把TestFlight里面所有的构建版本都移除,并且清空测试信息里面的所有数据。因为我们一直使用TestFlight做beta测试分发,所以需要将这些构建版本删除,包括测试信息里面的数据。删除构建版本的方法如下,先找到这个页面:
然后点击构建版本进入新的页面:
点击“将构建版本设为过期”,然后确认之后你就将构建版本3删除了。按照上述方法,你要把所有的构建版本都删除最终看到这种页面为止:
记得构建版本下面的App信息中的测试信息内容也要清空(如果设置了多语言,也需要将其他语言里面的测试信息清空)。
这里可能是由于缓存的问题,我把所有清空完成之后再次进入是否支持转让页面时,依然提示“TestFlight Beta 版测试”选项没有通过。我退出登录,然后清除了一下缓存,再次进入发现一切都已经ok了。
接下来点击继续,会打开如下页面:
接下来按照要求填写即可。然后点击继续进入确认页面。查看转让信息以及转让协议,***统一条款在确认转让即可。这是便会展示如下页面信息:
到此对账号A的操作完成。
2.接收方(B账号)接受转让APP
接下来你要做的不是等待,而是让B账号所有人在itunesconnect上登录B账号,登录完成之后你会看到如下页面:
然后点击“协议、税务和银行业务”,进入之后,然后按照下图的箭头点击:
然后会让你填写一些信息,具体内容如下:
这里按照要求填写响应内容即可。 这里我遇到的一个小问题就是手机号码加上了“+86”依然报错,***多尝试了几次(在86后面+空格,将空格删掉等),才消除错误。
然后点选同意显示的条款,***点击”Accept”按钮就ok了。这时你会发现此App已经成功转让到B账号了。
注:App Store里面显示的开发者更新会有延迟,我的是转让成功10分钟后才展示B账号的信息。
可能遇到的问题
- 由于你的App已经从A账号转让到了B账号,所以你发布新版本的时候就需要通过B账号来打包了。
- 这时如果该App有推送,你需要创建推送证书,然后更新证书。转让并不包含证书和配置文件。
你打包的时候也可能会遇到这种问题:
- Potential Loss of Keychain Access - The previous version of software has an application-identifier value of ['sdfasdfsd.com.xxxx.yyyy'] and the new version of software being submitted has an application-identifier of ['ggthtrhtf.com.xxxx.yyyy']. This will result in a loss of keychain access.
它的意思是由于Team变更,可能存在潜在的钥匙串访问丢失。这个只是一个警告。具体可以参见 Resolving the Potential Loss of Keychain Access warning 。里面会告诉你什么时候可以忽略这个警告,什么时候不能忽略以及如何解决这个问题。
还有关于推送证书,你将新版本发布之后需要将推送证书更新一下。因此这里可能会导致的问题就是同步问题,因为你App当前可用版本有可能包括老版本和新版本,所以发送的推送有的时候可能收不到。这里可以做个强制更新。
如果App里面包含老账号的信息(例如公司名称),需要你将信息更新为B账号的信息。