关于苹果证书

关于苹果证书

摘要:

  1. 苹果证书简介
  2. 具体解读
  3. 如何优雅地使用
  4. 关于苹果证书企业版的那些事儿

苹果证书简介

  1. 开发者证书(分为开发和发布两种,类型为ios Development,ios Distribution),这个是最基础的,不论是真机调试,还是上传到appstore都是需要的,是一个基证书,用来证明自己开发者身份的。
  2. appID,这是每一个应用的独立标识,在设置项中可以配置该应用的权限,比如是否用到了PassBook,GameCenter,以及更常见的push服务,如果选中了push服务,那么就可以创建生成下面第3条所提到的推送证书,所以,在所有和推送相关的配置中,首先要做的就是先开通支持推送服务的appID。
  3. 推送证书(分为开发和发布两种,类型分别为APNs Development ios,APNs Distribution ios),该证书在appID配置中创建生成,和开发者证书一样,安装到开发电脑上;
  4. Provisioning Profiles,这个东西是很有苹果特色的一个东西,我一般称之为PP文件,该文件将appID,开发者证书,硬件Device绑定到一块儿,在开发者中心配置好后可以添加到Xcode上,也可以直接在Xcode上连接开发者中心生成,真机调试时需要在PP文件中添加真机的udid;是真机调试和必架必备之珍品

具体解读

首先先说一下,苹果账号分两种,一种是$99 ,另一种是$299。

$99,个人或公司账号。可发布到App Store,这是最重要的。但不可以无限给设备分发,只能分发100个设备,根据UUID来唯一识别设备。

$299,企业账号。不可以发布到App Store,这是最重要的。但可以无限分发,无限分发,无限分发。(但iOS的企业开发者信任调整了,所以虽可以任意分发,但需要安装后,手动在设置里先信任开发者,这点很讨厌)

然后开始解读上面提到的四种证书,先上图看一下,开发者中心的目录解读。

ok,基础了解之后。具体讲述一下,这堆乱起八糟的东西到底有什么用。

苹果为了保证开发者(就是交完钱的孩子),能安安全全的开发,开开心心的发布,而不交钱的孩子开发都比较困难,所以搞出了这一大套折腾的东西。

Certificates,AppID(Bundle id),Provisioning Profiles 。到底是怎么用的呢?

Provisioning Profiles,可以理解为安装到苹果设备的认证,通俗讲就是能不能安装到苹果设备,就看Provisioning Profiles这把钥匙能不能用。能用,进门安装。不能,弹出一个提示无法安装,就呵呵哒了。

既然如此,怎样才能生成一个Provisioning Profiles呢。看一下苹果这边生成Provisioning Profiles需要什么?

终于好了,将证书Certificates,AppID(Bundle id),devices都选择完后,绑定到一起,成功召唤出神龙,帮你生成了这把钥匙。

那这把钥匙到底开的是哪扇门呢?是代码,是代码,是代码!!!

看一下打包的时候,在哪里用到这个签名,在build setting 下。

注意左上角是代码签名,代码签名!

所以上面那个图告诉我们的是,谁(*iOS Developer 或者iPhone Distribution*)给这段代码签名了,然后并配上了一把钥匙(Provisioning Profiles 描述文件,可以打开app store上的app,或者 可以打开 XC:AD HOC 私下分发的app等),共同组合一起完成了一个叫扩张名为ipa的打包文件。

如何优雅地使用

有这段主要是由于本公司混乱和冗余的证书把整个开发者中心搞得…简直就是乌烟瘴气。

  1. Certificates 是一定要通过电脑生成证书,然后提交网页签名的。所以,命名一定要特别的长,长到把此证书是何用,用在何处的信息尽量多的写。
  2. appID ,也是有备注名的,备注名的,备注名的。所以,还是尽量多的写,尽量多的写。
  3. Provisioning Profiles,尽量不要在网页生成下载,建议直接用Xcode生成。
  4. 协同开发者,下载Provisioning Profiles一定要用Xcode的account管理,一键下载安装。

(选择xcode —> prefenerces—>accounts—>view details)

这里就可以下载所有的profiles。

关于苹果证书企业版的那些事儿

刚才提到过,企业版证书就是价值299美元的那个。

和普通版本没有什么大的区别,就是Provisioning Profiles的生成中多了一个叫做in-house的发布类型。

只有这一点区别。

看一下生成后的描述文件有哪里不一样。可以看到类型不一样!!!

当然,打包的时候,build setting 中也要同时选中这个版的Provisioning Profiles。

然后选择


comments powered by Disqus