Apple 开发者账户及应用迁移记录

起因

最近接到一个迁移 Apple 开发者账号的任务,其实一开始只是想把原有的个人开发者账户升级成企业版,但是后来发现升级比较麻烦,需要创始人或者联合创始人申请,然后客服再通过电话联系确认后才能处理,遂放弃。

我们的需求是将个人账号下的 App 转移到一个企业账号下。由于公司原本没有注册过企业账户,所以可以直接以公司的名义注册一个新的账号,然后将申请的邓白氏码绑定到这个账号上并开通企业版开发者账号,再将原有的 App 迁移过来,最后再申请新的证书等,替换掉原有项目中的旧证书。

转移流程

首先去苹果官网注册一个新账号,比较耗时间的是申请邓白氏码,提出申请后华夏邓白氏公司会发送邮件到你的工作邮箱让你确认并填写公司的一些信息,然后就是等待审核通过了,可能需要几天甚至一周的时间。具体如何操作,可以参考这篇文章。

收到邓白氏码之后,就可以申请开发者账号了,可以参考这篇文章,企业类型的开发者账号年费比个人开发者要稍微高一点点。

创建完开发者账号后就可以开始转移 App 了,登入旧账号的 Apple Store Connect,然后进入 App Store 的 App Information,拉到最下面,然后找到 Transfer App,需要满足所有条件才可以开始转移。一般可能会遇到 “TestFlight Beta Testing” 这一项不符合,只要把 TestFlight 下所有的 Build 都删除掉就可以了,stackoverflow 上有相似的解决方案。完整的转移流程可以参考这篇文章

转移完成之后,App Store 上大概要过几个小时才会显示为新注册账号的公司名称。

申请新证书和 Profiles

由于账号转移了,所以我们需要申请新的证书和 Profiles,首先创建一个新的 Certificate Signing Request,不会的看这里。之后需要分别创建新的 iOS Development 和 iOS Distribution 类型的证书。

开发环境下的证书推荐直接使用 xCode 创建,只要使用同一个账号在 xCode 中登录就可以直接创建并同步到开发者控制台。如果使用到推送的话,还需要生成推送的证书。如下:

Certificates

创建完证书就可以创建 Profiles 了,一般至少需要创建三种 Profile,正式环境、开发环境、开发环境带测试设备 (Ad hoc)。创建 Profiles 也需要使用到 CertificateSigningRequest。

Provisioning Profiles

创建完之后,把 Profiles 下载下来,然后在 xCode 的 Signing 中导入开发和正式环境 Provisioning Profile,也可以通过 xCode 登入同一个账号同步下来。

然后还要把新创建的证书也都下载下来,双击导入到 Keychain 中,再找到 xCode 中的 Build Settings - Code Signing Identity,把 Debug 和 Release 的证书都修改为刚刚导入到 Keychain 中的证书。

至于 APNs 的证书,由于在创建的时候就已经将应用 ID 和 Provisioning Profile 绑定在一起了,所以无需另外配置,而且也不用担心使用新的推送证书后,使用旧版本的应用能否收到推送的问题,因为苹果兼容做的很好,旧版本的推送证书依旧有效,可以收到推送。

关于 Provisioning Profile 的工作原理可以参考我之前写的文章:关于 iOS 中 Provisioning Profile 的一些小问题

到这里整个迁移流程就结束了,可以开始正常的开发工作啦。

有问题欢迎私信我~