ios开发中Certificate,AppId和Provisioning三者的含义和联系

本文详细介绍了iOS开发的基础概念,包括Certificate、AppID和Provisioning Profile的重要性及其相互间的关系。了解这些概念有助于掌握iOS应用的开发、测试及发布流程。
if you love him, make him develop the Apps, cause it's heaven.
if you hate him, make him develop the Apps, cause it's hell. 

Apple的App Store是现今发展和生态环境最好的移动应用市场,目前还没有“之一”。
虽然移动应用市场仍处于几分天下胜负未定(也许没有所谓的胜负)的进程中,但apple的品牌价值,app store
神奇的造富历史,还是吸引着无数开发者投入其中。apple独有的带有教主个性烙印的整个运营模式,开发规范和
流程,是每个进入"the Apps"世界开发者的必修课。而理解Certificate, AppId和Provisioning Profile三者的概念和理清
他们之间的关系是掌握开发,发布流程的重要基础。一些重要功能,比如In-App Purchase内置付费,GameCenter等等

都离不开对着几个概念的明晰。


首先,加入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设备有多少,它就有可能有多大

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值