都离不开对着几个概念的明晰。
首先,加入ios开发者计划,给苹果99刀之后,你就可以开始享受它的折磨了,交钱能做什么呢? 很简单:开发,测试和发布应用。 硬件方面:一台mac os的电脑做开发,起码一部Ios设备做真机测试。至于是黑苹果,金苹果就各人自便, 不过为了少折腾,建议还是用真苹果,因为开发本身就够折腾的了。 注册成为开发者是第一道关,网上教程也很多,各位自理。 假设你已经和我一样成功缴费,加入了开发者计划,那么先打开 https://developer.apple.com/ 看看99美元一年有哪些菜
进入用户中心,看到如下界面
本文介绍的就是管理证书和授权文件,点击 "iOS Provisioning Portal",界面如下:
点击左侧导航栏的链接,依次讲讲, Certificates
证书是你有权利开发的凭证,是开发者的一种标识,相当于身份证,一个开发者账号只有一套。 一套含两个,Development和Distribution。 其中Development证书提供开发者在电脑上真机调试的权限,可以制作多个副本分发到多台电脑。 Distribution证书给开发者提供发布ios程序的权限,也就是说有了这个,你就有权力发布程序到App Store去了, 当然这只是万里长征的第一步。只有一个,不能制作副本分发到多台电脑。
Devices个人认为ios和android在开发上最大的区别, 安卓系统默认就开放了真机开发调试,任何人任何一台机器,不需要任何认证,即可以在真机上调试运行程序。 ios不行,你得交钱,然后把想私自安装程序的设备到这里注册!可以注册一百台设备,其实数量完全够用,只是交费是个门槛。
App IDs App ID是一个很关键的概念,顾名思义就是一个应用的标识,没错,每一个应用都有一个标识,一一对应。 新建一个App ID,看看有哪些内容,点"New App ID"
需要填写的就两项Description和Bundle Identifier, Description就是对这个id的描述,一个名字,就像别人喊刘德华,大家很快能对上号,要是喊一串身份证号码,估计都晕了。 Bundle Identifier才是程序的唯一标识,官方给的命名建议是使用域名倒排,比如你公司或团队的域名是somecom.com,这个应用 叫bingo,那么可以叫somecom.com.bingo。 怎么命名是自由,只是这种方式比较容易保证AppID的唯一性。 当然AppID必须是唯一没有被其他应用使用过的。
填好App ID后就能看到它的实时状态了:
Provisioning provisioning profile(以下简写为profile)是授权文件,它定义了什么设备能安装运行什么程序。 从这就可以知道,一个profile由设备标识和程序标识(App ID)两部分组成。 可以看出,profile和Certificate(证书)一样,也分为Development和Distribution两种。 Development用于确定哪个程序(App ID)能在哪个设备上调试。 Distribution用于确定哪个程序(App ID)能安装发布到哪个设备。
先新建一个Develop类型的profile,图中注释很容易懂。
再创建一个Distribution类型的profile, 发布类型又分为两种: 1,App Store:直接发布到app store,表示该程序已经不需要再发布到其他设备测试了,将直接发布到app store,此时下面的设备列表是 灰色不可选的(即将面向整个市场了,不存在只能装在某几台设备的问题) 2,Ad Hoc: 是发布版本,但是还要部署到一些机器上测试,此时下面的设备列表将变为可选,选择需要进行测试的设备即可。
总结一下: Certificate对于开发者账号来说是独一份(分Development和Distribution两种), App ID对于一个应用来讲是独一份,不依赖其他东西就可以生成一个App ID, Provisioning profile是连接程序和设备的桥梁,它规定了哪个程序能 "安装 or 调试"到哪些设备, 所以一个Provisioning profile是由App ID和设备列表组成的。 对于Development类型和Distribution下AdHoc类型的Provisioning来说,设备列表就是从注册的设备里选出的,是有限的, 而对Distribution下App Store类型的Provisioning来说,设备列表是近乎无限的,世界上ios设备有多少,它就有可能有多大