去年做ondine时,被iOS的证书搞得很是头大,做完了之后感觉一片混乱,印象也不是很深。最近又发布了meditashayne,个人的第二个App,也就重温了一下证书的一些相关操作。这一次的理解比较深了,总结了一些基本要点如下:

  首先要在电脑上的Keychain里生成一个CertificateSigningRequest.certSigningRequest文件,这个文件是接下来所有证书操作的基础。这个certSigningRequest文件我理解为是电脑生成的一段加密的关于自身的信息,这段信息精确能辨识某一台电脑,它被做在开发或者发布的证书里面后,这个证书就表示能授权这部电脑build开发版本或发布版本等操作。这个文件要妥善保存,因为重新生成一次的话,内容可能就会变了。

  接下来就是在developer.apple.com的Member Center里进行的证书相关操作了,这些操作都在Certificates, Identifiers & Profiles里面,主要分4个部分:

(1)、Certificates:

其实这个便是传说中的证书了,它的后缀名是.cer。Certificate有开发者、发布或者推送等各种类型,不同类型的证书能授权电脑做不同类型的操作。

制作Certificate的过程需要上传certSigningRequest文件。

做完Certificate后,要将它下载下来,并安装在Keychain中,这样便完成了第一步的授权操作。

(2)、Identifiers:

Identifiers表示各种各样的ID,用来唯一标识某个程序或某项功能,其中跟App有关的便是AppID。AppID用来唯一标识某个App,在进行下一步操作前,你要先为你的App注册一个AppID。

AppID中最重要的是Bundle ID,这个便是AppID的详细内容,一般将它定义为“com.域名.App名”的格式,比如meditashayne的Bundle ID便是“com.shayneyeorg.meditashayne”。

同时Xcode里面的Bundle Identifier也需要和这个Bundle ID保持一致,这样方能正确对应上。

(3)、Devices:

设备,包括iPhone、iPad、Apple Watch等各种设备,你要把你开发工程中真机调试需要用到的设备先添加到这里面。

添加设备的时候,主要是要记录设备的UDID。添加的设备并不表示以后必须得使用它,只是将它添加在这里可供以后选择使用。

(4)、Provisioning Profiles:

Provisioning Profiles是最后一步了,从字面上来理解它是授权文件的意思,文件的后缀名是.mobileprovision,这个文件便是我们平时开发过程中所说的“证书”了。

Provisioning Profile的意义是“授权某一台电脑在某几部设备上,对某个App进行某种操作”。

所以在制作Provisioning Profile的过程中,你需要选择这个Provisioning Profile文件的操作类型(开发或者发布),选择这个Provisioning Profile文件使用的证书和授权的电脑(Certificates),选择这个Provisioning Profile文件操作的App(Identifiers),选择这个Provisioning Profile文件允许操作的设备(Devices),选择完这些之后,便可生成对应的Provisioning Profile文件了。

这个文件是日常开发中经常要操作到的文件,需要把它的命名规范好,一般我会用文件的操作类型和App名称合起来作为文件名。比如meditashayne的开发者Provisioning Profile文件,我将它命名为“Dev_Mds.mobileprovision”,发布Provisioning Profile文件我将它命名为“Dis_Mds.mobileprovision”。

(5)、完成了这些操作后,你在Xcode里登陆对应的Apple ID,便可在Preferences里下载对应的Provisioning Profile文件,进行对应的操作了。

  参考文档:

  https://segmentfault.com/a/1190000004144556

  http://www.cocoachina.com/bbs/read.php?tid=330302

所闻所获5:关于iOS的证书的更多相关文章

  1. iOS 开发 证书总结 开发证书和生产证书的区别

    IOS开发 证书总结 开发者证书   ------>>  开发证书是你在真机推送时 用得, 生产证书是app 上架之后 推送给用户用的 首先你必须获得apple开发者证书,上图这个文件就是 ...

  2. iOS开发之 XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)

    参考:http://mobile.51cto.com/iphone-455500.htm XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效) 前提:设备已经越狱 目前在XCode上开发 ...

  3. IOS开发证书变成“此证书的签发者无效”解决方法

    IOS开发证书全部变成无效,如下图  打包提示错误  解决方法: 1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA ...

  4. ios 企业证书 ipa 重新签名发布

    提示:暂时不能用了,企业证书滥用 ios 企业证书 ipa 重新签名发布 1. 应用场景 当前有一个 未用企业证书签名的 ipa 文件,默认是不可以直接安装到设备上的:我们需要用企业版证书签名: 当前 ...

  5. 申请iOS开发者证书

    来源:http://blog.csdn.net/htttw/article/details/7939405 申请iOS开发者证书 今天我们介绍如何申请iOS开发者证书(99刀): 1. 打开 http ...

  6. iOS 此证书的签发者无效

    1.先检查Apple Worldwide Developer Relations Certification Authority Intermediate Certificate证书是否过期,该证书过 ...

  7. iOS开发证书都显示“此证书的签发者无效”,更新WWDR Certificate证书后还是显示无效

    1.首先iOS开发证书显示"此证书的签发者无效".是因为WWDR Certificate证书过期导致的,须要更新WWDR Certificate证书! 1)下载最新WWDR Cer ...

  8. iOS开发证书和配置文件的使用

    提示:之前只是根据网上的流程完成了iOS项目的发布过程,对于证书和配置文件仍是一头雾水,这里参照别人的文章,简单了解一下,毕竟以后用的着. 这里有几个问题: 什么是iOS证书,它是如何与app应用关联 ...

  9. iOS监听模式系列之iOS开发证书、秘钥

    补充--iOS开发证书.秘钥 iOS开发过程中如果需要进行真机调试.发布需要注册申请很多证书,对于初学者往往迷惑不解,再加上今天的文章中会牵扯到一些特殊配置,这里就简单的对iOS开发的常用证书和秘钥等 ...

随机推荐

  1. yii2学习的论坛

    http://www.yiifans.com/forum.php http://www.yiichina.com/ http://www.yiichina.com/

  2. python list 去重

    print u'列表去重'a=[1,2,3,3,2,1,4,4,5,6,'a','a','b','c']print list(set(a))

  3. 平时的笔记02:处理mp3

    #! /usr/bin/env python # # mutagen aims to be an all purpose media tagging library # Copyright (C) 2 ...

  4. Handsontable通用方法

    1.clear():清空数据 2.createCol(index,amount,createAutomatically):添加列        index:列索引,amount:添加的列总数,crea ...

  5. Android应用程序注册广播接收器(registerReceiver)的过程分析

    前 面我们介绍了Android系统的广播机制,从本质来说,它是一种消息订阅/发布机制,因此,使用这种消息驱动模型的第一步便是订阅消息:而对 Android应用程序来说,订阅消息其实就是注册广播接收器, ...

  6. [服务器运维][Minecraft服务器搭建]

    参考资料: http://neekey.net/2016/02/01/%E5%A6%82%E4%BD%95%E7%94%A8%E9%98%BF%E9%87%8C%E4%BA%91ecs%E6%90%A ...

  7. 一个Demo就懂的Angular之directive

    <body> <div ng-controller="myCtrl"> <hello-word></hello-word> < ...

  8. android隐式intent使用场景解析

    Android 隐式intent相信大家都有用过,大部分场景我们用显式intent已经能满足我们的业务需求,隐式intent大部分都是用来启动系统自带的Activity或Service之类的组件.昨天 ...

  9. react-native使用react-art制作SVG动画

    想要使用SVG做一个动画,郁闷了一上午终于有了一点思路.. 其实我是看了一篇国外的文章.网址:http://browniefed.com/blog/2015/05/03/getting-react-a ...

  10. C# 操作系统防火墙

    很多时候,我们的程序是通过网络通信(如TCP或者UDP协议+端口),而将制作好的程序安装包给客户用时,发现会出现不能通信的现象(或者在这台电脑是可以的,却在另一台不可以),原因是防火墙阻止了,需要添加 ...