开发者证书   ------>> 


首先你必须获得apple开发者证书,上图这个文件就是apple开发者证书,只要有apple的开发者账号就可以下载到,此证书可以直接到

developer.apple.com -->

    Member Center -->

      Certificates, Identifiers & Profiles, Certificate -->

        Certificates  -->  Add Certificates 里面下载到, 如下图:

那么这个文件有什么用处? 后文再说!

其次需要理解 Certificate, Identifier, Devices, Provisioning Profiles


Certificate

用于给应用程序签名(只有签名过的应用程序才能保证其来源是可信任的,代码是完整的,未经修改的), 在项目的Project  |  Targets -----> Build Settings -----> Code Signing Identity里面指定, 如下图:

我们如何给应用程序签名?
 
    申请Certificate之前需要申请一个 Certificate Signing Request(CSR) 文件,这个文件是保存在我们的mac的(keychain)里面的, 此文件包含了(公钥和私钥), 而我们的应用程序签名是使用私钥来签名用公钥来进行验证,  而苹果生成的Certificate 只包含了公钥, 当你用自己的私钥签名后,苹果会用公钥来进行验证,确保是你自己对程序签名而不是别人冒充的。
 

  • 首先是申请CSR文件,打开Keychain Access, 如下图:

  • 然后按下图依次点击

      注意下图的  Request a Certificate from a Certificate Authority …
      如果没有这个选项的话,还记得文章开头的那个AppleWWDRCA.cer证书么,对了就是它,安装它后就OK啦

  • 再然后common name随便填, CA Email Address 留空, 再点击continue 继续

  • OK, CSR文件就生成了

那么上一步说的CSR文件包含了public key 和 private key我们就可以在Keychain Access里面看到了, 如下图:

CSR文件生成之后就要生成Certificate了, 进入Developer页面(Certificates, Identifiers & Profiles) --> Certificates ---> +

    1. 选择证书类型     (Development or Production)
    2. 上传提供之前创建的 Certificate Signing Request(CSR)文件
    3. 下载生成好的Certificate 文件
    4. 双击安装(特别提示:如果以前有安装过此开发者证书且名字相同,双击安装极有可能不生效,需要做的是直接把此Certificate文件拖入到Keychian Access的Login里面,当然如果以前的没用的可以删除, --- 通过搜索iphone developer可以找到)

Identifier:

作用?
    
    顾名思义App ID(application id, not apple id), 对于你的一个或者一组app他们的唯一标识, 这个App ID跟你Xcode中的Targets -----> General-----> Identity中的Bundle Identifier是匹配的,(其余的那些推送服务啊什么的都是配置在APP ID下面的) 如下图:

Provisioning Profile

    
    一个Provisioning Profile包含了上述所有内容 Certificate && App ID && Device, 这个Provisioning Profile文件会在打包时嵌入到.ipa的包里,如下图: 
 
 

所以一台设备上运行应用程序的过程如下(以Developer Provisioning Profile为例):
 
1 检查app 的 bunld ID 是否 matches Provisioning Profile 的 App ID
2 检查 app 的 entitements 是否 matches Provisioning Profile 的 entitements
3 用Certificate来验证签名签名
4 检查此设备的UDID是否存在于 Provisioning Profiles中 (仅在 非发布证书中)
 
如何创建?
在 Provisioning Profiles 中点加号,然后依次选择App ID, Certificate, Devices(development),再指定名称,最后下载, 双击则安装到Xcode中
 
 
Xcode中的配置

 
Project && Target 的 build settings 中搜索Code sign…
然后分别选好对应的证书,如果选择列表中没有刚才创建的证书可以双击直接复制名字上去 

关于推送服务

基于上面的操作,如果需要推送服务我们还需要申请一个推送证书
 
依次进入 Certificates —>Production —>Apple Push Notification service SSL (Production)
然后选择需要推送服务的App ID
再选择前面创建的.cerSigningRequest文件
最后点击generated生成推送证书 

最新文章

  1. 学习笔记:Maven构造版本号的方法解决浏览器缓存问题
  2. 【转】C++标准库和标准模板库
  3. How Kafka’s Storage Internals Work
  4. 找做IT的男朋友会不会没有隐私
  5. 用 Wireshark 图解:TCP 三次握手
  6. OpenGL的gluPerspective透视投影变换函数详解[转]
  7. UML 类图基础知识记录
  8. scjp考试准备 - 2 - 逻辑运算及类型转换
  9. Android视频录制
  10. MVAPI第一个版本架构图
  11. nodejs连接mysql实例
  12. 一劳永逸的解决AFNetworking3.0网络请求问题(面向对象封装大法,block回调)
  13. DDD实战进阶第一波(九):开发一般业务的大健康行业直销系统(实现经销商上下文仓储与领域逻辑)
  14. React Native之配置URL Scheme(iOS Android)
  15. Yahoo Programming Contest 2019 自闭记
  16. Activity横竖屏切换时 一些数据的保存
  17. Mybatis 的常见面试题
  18. 我的第一个php扩展
  19. java算法 蓝桥杯 洗牌
  20. VC对话框实现添加滚动条实现滚动效果

热门文章

  1. 对访问修饰关键字public, protected, internal and private的说明
  2. 解决: osx内置vpn连接后无法ping自己的vpn ip地址
  3. 002医疗项目-主工程模块yycgproject三层构建(三大框架的整合)
  4. zabbix(sql注入判断脚本)
  5. JS闭包的理解
  6. Scala学习笔记(八):基本类型和操作
  7. Git.Framework 框架随手记--ORM查询数据集合 一
  8. Bootstrap系列 -- 26. 下拉菜单标题
  9. php中命名空间的使用
  10. 初探JAVA中I/O流(二)