iOS 证书申请和使用详解

作者: Warrior_Seven | 来源:发表于2016-03-19 10:14 被阅读68107次

    对于iOS开发者来说,apple开发者账号肯定不会陌生。在开发中我们离不开它。下面我简单的为大家分享一下关于iOS开发中所用的证书相关知识。

    第一部分:成员介绍

    1.Certification(证书)

    证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种

    1)Developer Certification(开发证书)

    安装在电脑上提供权限:开发人员通过设备进行真机测试。
    可以生成副本供多台电脑安装;

    2)Distribution Certification(发布证书)

    安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。不可生成副本,仅有配置该证书的电脑才可使用;

    2.Provisioning Profile(授权文件)

    授权文件是对设备如iPod Touch、iPad、iPhone的授权,文件内记录的是设备的UDID和程序的App Id,即:使被授权的设备可以安装或调试Bundle identifier与授权文件中记录的App Id对应的程序。
    开发者帐号在创建授权文件时候会选择App Id,(开发者帐号下App Id中添加,单选)和UDID(开发者帐号下Devices中添加最多100个,多选)。
    授权文件分为两种,对应相应的证书使用:

    1)Developer Provisioning Profile(开发授权文件)

    在装有开发证书或副本的电脑上使用,开发人员选择该授权文件通过电脑将程序安装到授权文件记录的设备中,即可进行真机测试。
    注意:确保电脑有权限真机调试,即安装了开发证书或副本;在开发工具中程序的Bundle identifier和选中使用的授权文件的App Id要一致;连接调试的设备的UDID在选中的授权文件中有记录。

    2)Distribution Provisioning Profile(发布授权文件)

    在装有发布证书的电脑上(即配置证书的电脑,只有一台)制做测试版和发布版的程序。
    发布版就是发布到App Store上的程序文件,开发者帐号创建授权文件时选择store选项,选择App Id,无需选择UDID;
    测试版就是在发布之前交给测试人员可同步到设备上的程序文件,开发者帐号创建授权文件时选择AdHoc,选择App Id和UDID;只有选中的UDID对应的设备才可能安装上通过该授权文件制做的程序。

    3. Keychain(开发密钥)

    安装证书成功的情况下证书下都会生成Keychain,上面提到的证书副本(导出证书重新命名)就是通过配置证书的电脑导出Keychain(就是.p12文件)安装到其他机子上,让其他机子得到证书对应的权限。Developer Certification就可以制做副本Keychain分发到其他电脑上安装,使其可以进行真机测试。
    注意:Distribution Certification只有配置证书的电脑才可使用,因此即使导出导出Keychain安装到其他电脑上,其他电脑也不可能具有证书的权限。

    第二部分:证书申请流程

    step1:登录(99美元账号)https://developer.apple.com

    c_1.jpg

    1)登录成功后在页面右侧选择“Certificates”:


    c_2.png

    2)打开之后可以看到面板:


    c_3.png

    step2:生成CSR文件

    1)打开 ->钥匙串访问

    c_5.png

    2)打开右上方钥匙串访问栏->证书助理->从证书颁发机构请求证书…


    c_4.png

    3)填写一个邮箱地址,选择“存储到磁盘”,点击继续,完成了。

    c_6.png

    申请成功后的文件:

    c_7.png

    step3:注册 App ID 流程

    1)点c_3图面板中的App IDs 右上角的加号。然后填写App ID的名字:


    c_8.png

    2)填写bundle ID:

    c_9.png

    3)选择App需要支持的服务,(如:app耍要推送服务,就勾选Push Notifications)

    c_10.png

    4)最后会有一个详细的内容列表,对应无误后,提交完成。

    step4: 证书申请

    1)选择证书的类型,下面罗列我们iOS开发常用的证书类型

    c_11.png

    2)如果是申请推送证书,则会关联一个App ID

    c_12.png

    3)上传我们之前建好的CSR文件(详见step2)

    c_13.png

    4)恭喜你,到此为止,你完成了证书的申请,简单吧。

    setp5:授权文件申请(Provisioning Profile)

    1)选择授权文件类型,下面罗列了iOS常的授权文件类型

    c_14.png

    2)选择关联App ID

    c_15.png

    3)选择关联的证书

    c_16.png

    4)选择授权的设备(通过 UDID),除了企业证书(inHouse)外,只有你添加的设备才能进行调度或测试

    c_17.png

    5)给授权文件命一个能和其它授权文件区分的名字

    c_18.png

    恭喜你,到此为止,授权文件申请完成了,简单吧。
    在我们iOS开发中,常用的证书相关操作流程就全在上面了。

    第三部分:总结

    1)成功安装测试证书的条件:a).开发者证书+私钥。 b).授权文件。

    2)如果你想通过证书进行真机调试,请选择开发版证书(Development Certificate),和相应的授权文件(Development Provisioning Profile) 。

    3)如果你想让更多的开发者能进行真机调试,请先对需要真机调试的设备进行授权,然后将开发版证书(Development Certificate)下载到本机安装后导出为带私的.p12的文件,和相应的授权文件(Development Provisioning Profile)交由开发者安装,成功后即可进行真机调试。

    4)如果你想让更多的机子进行真机测试,请先对需要测试的设备进行授权,然后选择生产版证书(Distribution Ad_hoc Certificate)和相应的授权文件(Distribution Ad_hoc Provisioning Profile)打包后分发给要测试的设备即可。

    以上是我在iOS开发中对iOS证书使用的记录,希望对你有所帮助。最后,谢谢浏览。

    相关文章

      网友评论

      • ttdiOS:打包是出现:
        项目名 has conflicting provisioning settings.
        项目名 is automatically signed for development, but a conflicting code signing identity iPhone Distribution has been manually specified. Set the code signing identity value to "iPhone Developer" in the build settings editor, or switch to manual signing in the project editor.
        是怎么回事???怎么办???
      • lele8446:注意:Distribution Certification只有配置证书的电脑才可使用,因此即使导出导出Keychain安装到其他电脑上,其他电脑也不可能具有证书的权限。

        安装导出后的p12,以及对应的Profile,一样是可以打包的
      • 江山此夜寒:楼主大神,问下,app要有推送的话,只需要参加Apple Push Notification service SSL (Sandbox & Production)还是两个都需要创建。c_11.png中的发布证书
      • 马路边的油酥饼:我想问一下 一个开发者账号可以生成几个发布证书和开发证书
      • 下雨就好:请问,如果上一个程序员用自己的电脑生成了证书,给我的p12,然后他走了,后面我是需要重新生成证书还是只能继续使用P12继续下去,求解....
        我是程序媛:@下雨就好 请问继续使用P12可以吗? 谢谢
        下雨就好:万分感谢
      • 浅浅_e90e:如果要将ipa包放到蒲公英网上,生成二维码供测试设备下载安装,配置文件里是不是既需要选择iOS App Development (Development)还需要选择Ad Hoc (Distribution)?
        浅浅_e90e:@Warrior_Seven 好的,我试一下,谢谢博主
        Warrior_Seven:iOS App Development (Development) 选 择这个就行了。 你可以 把做好的ipa包,通过iTunes安装测试一下
      • 星零_36cd:Windows环境下申请iOS 证书及描述文件图文教程,跨平台开发者没有Mac的可以学习下http://www.jianshu.com/p/4d01ff86b57f
      • d31bdd690d2f:收购苹果企业开发者账号,高价收购,有的联系QQ: 537087760,如果你手上有闲置不用的,暂时用不上的,赶紧联系我噢。
      • 232bc3d4881b:用appuploader创建和管理证书是最方便的。过程简单,不需要钥匙串助手,直接输入证书密码名称一键创建,证书直接p12可以在不同电脑之间传。更爽的是在windos,linux,mac上都可以用。我只想用一个字来形容第一次使用的体验:草
        alelaile:绝对广告
        我的大名叫小爱:@赵小白白白 广告吧怕是
        deeper_iOS:真的这么好用?
      • 0faa6f881ade:发布证书也可以导P12给别的电脑使用
        Clemo:是可以的.楼主要更新下这篇文章了
      • 魔鬼分界线:非常详细,作者写的很用心
      • Draven_Lu:这都是一年前的套路,你三月份copy过来,能不能用点心啊
      • 一号线:这篇文章很好
      • 晨曦之光nl:最新的Xcode是不是不用再添加device就可以真机调试了
        d31bdd690d2f:收购苹果企业开发者账号,高价收购,有的联系QQ: 537087760,如果你手上有闲置不用的,暂时用不上的,赶紧联系我噢。
      • Dely:注意:Distribution Certification只有配置证书的电脑才可使用,因此即使导出导出Keychain安装到其他电脑上,其他电脑也不可能具有证书的权限。请问一下。这个证书的权限具体之什么权限?不是很明白
        辣椒小鱼:这个观点有问题吧 我的发布证书 就是从别人那拷贝过来的,正常能生成ipa
        Warrior_Seven:@Damon4Zhou 正解
        Damon4Zhou:@Dely Distribution Certification应该是生成测试版本ipa和发布App Store,如果导出后安装在其他电脑上就不具备该功能了

      本文标题:iOS 证书申请和使用详解

      本文链接:https://www.haomeiwen.com/subject/objhlttx.html