编者按:之前写过一篇《iOS 开发者账号总结》的文章,主要总结了不同开发者账号之间的区别,以及一些账号管理和选择上的建议。但是因为没有开启 Markdown,而且当时写得有点潦草,现在看起来感觉太乱了,因此将其重新整理,内容也进行更新和添加,以保证文章质量。
简述
iOS 开发在国内已经发展好几年了,在进行 iOS 开发之前必不可少的一件事,就是申请开发者账号。
申请开发者账号后,就可以进入开发者中心下载 Xcode 编译器,并且配置开发者证书进行真机测试来调试项目。在程序开发完成后,就可以进行项目打包并发布上线到AppStore
了,而这些步骤都是需要开发者账号的。
开发者账号分为好几种类型,怎样区分和挑选适合自己或公司的账号,就是一个很重要的问题了。下面将会详细讲一下账号相关的知识点。
开发者账号分类
个人账号和公司账号差别不大,主要区别在于开发者数量。还有个问题在于,如果是个人账号发布的应用,App Store 开发者的位置显示的是开发者个人的名字,而公司账号则可以显示公司的名字,现在 App Store 上的应用一般都是公司账号。
企业账号比较特殊,发布的安装包可以安装到任何设备上,但是不能发布到 App Store。一般一些企业内部的应用都使用这种账号,想开发什么就开发什么,不用担心苹果审核机制的问题。
企业账号和 99$ 的两种账号还有个区别在于,正是由于企业账号是不向 App Store 发布的,所以更新应用是直接更新的。避免了苹果审核的等待,只不过苹果现在审核时间也缩短了不少。
企业账号还有一个用途,就是一些XX助手之类的应用下载下来的,一般都是企业账号打的包。这些 XX 助手的平台把原生 ipa 包进行反编译,以达到某些目的,然后通过企业账号重新打包。
教育账号是苹果推出的一种特殊的账号,这种账号主要面向大学生,用来让在校大学生进行 Apple 相关开发的。这种账号还是不要想了,苹果对这块的审批还是很严的。
账号对比
下面再用一张大图做一个详细的功能对比,这张图片来自于苹果开发者中心的官方说明,其中添加了 Apple ID 的对比。
打包发布对比
进行真机测试或发布上线,都需要开发者账号申请证书和配置描述文件。关于证书和描述文件这里就不讲了,配置起来都差不多,具体的可以看我之前写过的相关文章。
这里主要讲一下 Xcode 不同打包方式之间的区别,以及不同账号类型对打包方式的影响。
在 Xcode 打包时,一般会出现下面四个选项。
Save for iOS App Store Deployment
Sign and package application for distribution in the iOS App Store.
用发布证书打包,打包后的 ipa 可以发布到 App Store。
Save for Ad Hoc Deployment
Sign and package application for Ad Hoc distribution outside the iOS App Store.
用发布证书打包,打包后的 ipa 可以进行真机测试,设备范围在于添加 Device ID 的设备,但不可以发布到 App Store`。
Save for Enterprise Deployment (In-House)
Sign and package application for enterprise distribution outside the iOS App Store.
企业账号打包,打包后的ipa
可以安装到任何设备上,但不可以发布到App Store
。
Save for Development Deployment
Sign and package application for development distribution outside the iOS App Store.
用测试证书打包,打包后的 ipa 可以进行真机测试,设备范围在于添加 Device ID 的设备,但不可以发布到 App Store。
在使用证书进行打包的时候,一般公司和个人账号,都是通过 Ad Hoc 或 Development 方式打包的。企业账号都是通过 In-House 方式打包的。这些账号中,只有公司和个人账号,才能上线 App Store。
账号申请地址
下面是不同账号的申请地址:
邓白氏码 (DUNS)
在上面介绍的这些不同类型的账号中,公司账号和企业级账号,在申请的时候还需要提交一个邓白氏码。
因为这两种账号都是公司级别的账号,所以邓白氏码主要用于认证公司的资质。淘宝上有很多做邓白氏码申请的,其实这个邓白氏码并不需要花钱,直接在苹果官网就可以申请,好多壕不知道这点还在花钱找人申请。
我自己也没申请过邓白氏码,网上找到了申请地址:邓白氏码申请地址(https://developer.apple.com/program/enroll/dunsLookupForm.action)。
多账号管理
这里主要是针对于公司账号的,如果在多人开发的环境下操作同一个公司账号,这样很容易出问题,而且出问题还不知道是谁干的。例如把打包证书删了、描述文件删了之类的,最可怕的是把应用删了…
公司账号有个功能就是,可以创建不同的子账号,并且给每个子账号设置不同的权限。这样每个人有不同的权限,可以限定每个人的操作权限。而且做什么操作,也可以通过账号查找到是谁干的。
账号申请
通过 Agent 或 Admin 级别的账号登录苹果开发者主页,通过 Member Center -> People -> Invitations -> Invite Person 的顺序,一路进入到申请信息填写页面,并邀请新的成员(也就是创建新的子账号)。
在点击进去的页面填写被邀请者的 Name、Email 之类的信息,被邀请者会收到一封邮件。收到邀请之后,点击链接并按照提示注册账号。为避免不必要的麻烦,建议 Apple ID 和邀请的目标邮箱使用同一个。
账号管理
这里面账号主要分为三个级别:
Agent
(创建者),Admin
(管理员)、Member
(普通成员)
上图中是我公司的开发者账号,除了Agent
其他账号几乎都是Admin
级别的,这样就可以满足大多数的需求。这些账号中Member
权限最低,甚至连添加Device ID
都没有,几乎是只能进开发者中心下载东西。
Agent
可以做添加、删除项目的操作,然后有什么更新协议之类的也需要Agent
去点击确认,其他的和Admin
级别的应该没什么区别了。