iOS开发证书那点事儿
iOS开发是用Xcode作为开发工具,Xcode在安装之后就自带了模拟器(Simulator)。模拟器是个好工具,它对用户没有任何要求,但是我们必须牢记一件事:开发出来的App最终是要在真机上执行,没有在真机上调试过,发布出去的App一定会出现各种意想不到的问题,而且无法解决。而要使用真机调试,开发证书就无法绕过去。
一.开发账号
苹果的开发账号主要分为三种:
- 个人开发账号:$99;App能上App Store;只能个人使用。
- 公司开发账号:$99;App能上App Store;可多人协作开发。
- 企业开发账号:$299;App不能上App Store,仅能公司内部分发;可多人协作开发。
个人和公司账号除了允许的使用人数不一样之外,没有其他不同。接下来将以个人开发账号为例阐明证书的创建及使用流程。
二. 创建证书及使用-以个人账号的开发证书为例。
生成CSR文件
CSR文件是通过Mac的钥匙串生成的,是创建开发证书必须的。方法:打开钥匙串,【钥匙串访问】->【证书助理】->【从证书颁发机构请求证书】,填入“电子邮件地址”和“常用名称”,选择“存储到磁盘”,点击继续。之后我们会得到一个CSR文件:CertificateSigningRequest.certSigningRequest。注意:在生成CSR文件的同时,会生成一对秘钥:公钥和私钥,私钥被保存到钥匙串中(可在钥匙串中查看),公钥被包含在CSR文件中用于创建证书。
创建证书
使用开发者账号登录苹果开发者网站:
创建AppID。
AppID也就是App的BundleID,用于唯一标示你的App。可通过"Identifiers"栏目创建,例如
com.example.myApp。这里要说一句,如果不使用推送功能,可创建形如com.example.*的AppID;但如果要使用推送功能,就必须使用具体的AppID。创建AppID的时候可同时勾选推送服务,然后创建推送证书。添加Device。
将你iPhone的UUID添加到开发账号中去,这样你的iPhone就可以用于调试。不在开发账号中的设备无法参与调试。可通过"Devices"栏目添加。
生成证书。
在"Certificates"栏目下创建证书,选择"iOS App Development",之后按要求上传CSR文件即可生成开发证书。
创建Provisioning Profile(即PP文件)。
进入"Profiles"栏目,选择"iOS App Development",之后选择要加入到PP文件中的AppID,然后选择加入到PP文件中的证书,最后选择加入到PP文件中的设备。
注意:PP文件可以看成是一个"数据包“,不同类型的PP文件包含不同的内容:
Development PP = AppID + DevelopmentCertS(可包含多个) + Devices
Distribution PP = AppID +DistributionCert
AdHoc PP = AppID + DistributionCert + Devices
本地配置
将上述创建的证书(若有推送证书也需要一起下载下来)和PP文件下载到本地。双击安装证书会将证书添加到钥匙串中,并自动与之前创建的私钥关联起来。双击PP文件会将其添加到Xcode中,在真机调试时,Xcode会根据PP文件去钥匙串中访问相应的证书和私钥,并验证连接的设备是否已经包含在PP文件的设备清单中。如果没问题,就可以愉快的进行真机调试了。
三.P12文件
如果有多台Mac的开发需求,自然会想到在每台Mac上都重复以上的步骤来创建证书和配置环境。但是Apple对一个开发账号下创建的证书个数进行了限制,在创建多个证书之后就无法继续创建了。事实上,Mac开发过程中最重要的是创建CSR文件时生成的私钥,可通过从钥匙串中将证书(包含私钥)导出为P12文件来解决多台Mac开发的问题。
- 打开钥匙串,找到对应的证书,展开证书项会发现其关联了私钥。右键导出为P12文件。未关联私钥的证书是无法导出P12文件的。
- 将该P12文件和PP文件分发到其他用于开发的Mac上面,然后安装即可。
iOS开发证书那点事儿的更多相关文章
- iOS 开发 证书总结 开发证书和生产证书的区别
IOS开发 证书总结 开发者证书 ------>> 开发证书是你在真机推送时 用得, 生产证书是app 上架之后 推送给用户用的 首先你必须获得apple开发者证书,上图这个文件就是 ...
- IOS开发证书变成“此证书的签发者无效”解决方法
IOS开发证书全部变成无效,如下图 打包提示错误 解决方法: 1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA ...
- iOS开发证书都显示“此证书的签发者无效”,更新WWDR Certificate证书后还是显示无效
1.首先iOS开发证书显示"此证书的签发者无效".是因为WWDR Certificate证书过期导致的,须要更新WWDR Certificate证书! 1)下载最新WWDR Cer ...
- iOS开发证书和配置文件的使用
提示:之前只是根据网上的流程完成了iOS项目的发布过程,对于证书和配置文件仍是一头雾水,这里参照别人的文章,简单了解一下,毕竟以后用的着. 这里有几个问题: 什么是iOS证书,它是如何与app应用关联 ...
- iOS监听模式系列之iOS开发证书、秘钥
补充--iOS开发证书.秘钥 iOS开发过程中如果需要进行真机调试.发布需要注册申请很多证书,对于初学者往往迷惑不解,再加上今天的文章中会牵扯到一些特殊配置,这里就简单的对iOS开发的常用证书和秘钥等 ...
- iOS开发证书与配置文件的使用
前提 众所周知,开发iOS应用必须要有iOS证书(Certificates)和配置文件(Provisioning Profiles),那么问题来了: 1.什么是iOS证书,它是如何与app应用关联的? ...
- 【转】ios开发证书,描述文件,bundle ID的关系
ios开发证书,描述文件,bundle ID的关系 苹果为了控制应用的开发与发布流程,制定了一套非常复杂的机制.这里面的关键词有:个人开发者账号,企业开发者账号,bundle ID,开发证书,发布 ...
- 如何使用iOS 开发证书 和 Profile 文件
如果你想在 iOS 设备(iPhone/iPad/iTouch)上调试, 需要有 iOS 开发证书和 Profile 文件. 在你拿到这两个文件之后,该如何使用呢? 证书使用说明: 1. iOS 开 ...
- ios开发证书,描述文件,bundle ID的关系
苹果为了控制应用的开发与发布流程,制定了一套非常复杂的机制.这里面的关键词有:个人开发者账号,企业开发者账号,bundle ID,开发证书,发布证书(又叫"生产证书"),开发描述文 ...
随机推荐
- Web前端基础(16):jQuery基础(三)
1. jQuery动画效果 jQuery提供的一组网页中常见的动画效果,这些动画是标准的.有规律的效果:同时还提供给我们了自定义动画的功能. 1.1 显示动画 方式一: $("div&quo ...
- CAD转PDF的软件哪个比较好用?用这两个很方便
大家都知道编辑CAD图纸是需要借助CAD制图软件来进行绘制的,而且CAD制图软件很多的设计师们都在使用.但是CAD中的图纸格式为dwg格式的,不想要使用CAD软件来查看图纸的话,就需要将CAD转换成P ...
- Locust压测结果准确性验证
最近闲着没事做,就重新研究了一下基于python语言的Locust性能测试框架 发现在压测的过程中,虽然设置了100并发,但是通过实际监控,完全看不到100并发压测的效果 通过代码AOP日志监控接口的 ...
- 创建密钥并使用密钥ssh登录linux
创建密钥并使用密钥ssh登录linux 使用密钥对登录ssh简介 通过ssh_keygen胜场公钥和私钥,公钥放在要登录的目标的机器上,私钥放登录发起的机器上. 生成密钥 我是在ubuntu上生成的密 ...
- P1005 Spell It Right
# P1005 Spell It Right 原题 Given a non-negative integer N, your task is to compute the sum of all the ...
- Saltstack_使用指南18_API
1. 主机规划 salt 版本 [root@salt100 ~]# salt --version salt (Oxygen) [root@salt100 ~]# salt-minion --versi ...
- 网络编程~~~osi五层协议
物理层 / 数据链路层 / 网络层 / 传输层 / 应用层(表示层/会话层) 一 物理层 物理层指的就是网线,光纤, 双绞线等物理传输介质 物理层发送的是数据(比特流) 二 数据链路层 数据链路层对数 ...
- 算法问题实战策略 MEETINGROOM 附一份tarjan模板
地址 https://algospot.com/judge/problem/read/MEETINGROOM 解答 2-sat 代码样例过了 没有ac. 我又没有正确代码对拍..... 已确认是输出 ...
- 80道最新java基础部分面试题(五)
自己整理的面试题,希望可以帮到大家,需要更多资料的可以私信我哦,大家一起学习进步! 48.同步和异步有何异同,在什么情况下分别使用他们?举例说明. 如果数据将在线程间共享.例如正在写的数据以后可能被 ...
- R的环境系统
r环境概念 环境:用来具体存储对象的地方. 规则1:每一个对象都存储在一个环境当中. 规则2:每一个环境都与一个父环境相连接,构成一个分层的环境系统. 规则3:子环境与父环境的连接是单向的. pa ...