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