iOS学习笔记21-推送证书与秘钥申请
---恢复内容开始---
一、iOS证书
iOS常用的证书包括开发证书和发布证书,无论是真机调试还是最终发布应用到App Store这两个证书都是必须的,它是iOS开发的基本证书。Xcode7以后真机调试就不需要开发证书,真是开发者的福音啊!我再也不用为没有开发者账号而不能真机调试而担心了,(^o^)/~。
- 开发证书:
开发证书又分为普通开发证书和推送证书,如果仅仅是一般的应用则前者即可满足,但是如果开发推送应用则必须使用推送证书。 - 发布证书:
发布证书又可以分为普通发布证书、推送发布证书、Pass Type ID证书、站点发布证书、VoIP服务证书、苹果支付证书。同样的,对于需要使用特殊服务的应用则必须选择对应的证书。
二、一些概念的普及:
1. 应用标识AppID:
应用程序的唯一标识,对应iOS应用的Bundle Identifier
,AppID在苹果开发者中心中分为:
- 通配的应用ID:
有通配符,例如liuting.eat.*
,一般用于普通应用开发,一个通配ID可以适用于多个不同标识的应用 - 明确的应用ID:
没有通配符,例如liuting.push.com
,对于使用消息推送、Passbook、站点发布、iCloud等服务的应用必须配置明确的应用ID
2. 设备标识UDID:
设备标识UDID用于标识每一台硬件设备的标示符。
注意它不是device token
,device token
是根据UDID使用一个只有Apple自己才知道的算法生成的一组标示符。
3. 授权证书:
授权证书,英文Provisioning Profiles
,后缀为*.mobileprovision
。将UDID、AppID、开发证书打包在一起的配置文件,同样分为开发和发布两类配置文件。
4. 秘钥:
- 在申请开发证书时必须要首先提交一个秘钥请求文件,对于生成秘钥请求文件的Mac,如果要做开发,则只需要下载开发证书和授权证书即可开发。
- 如果要想在其他机器上做开发,则必须将证书中的秘钥导出(导出之后是一个
*.p12
文件),然后导入其他机器。 - 对于类似于推送服务器端应用,如果要给APNs发送消息,同样需要使用秘钥文件,并且这个秘钥文件需要是推送证书导出的对应秘钥。
三、推送证书与秘钥申请全过程
1. 生成本机证书(*.certSigningRequest)
2. AppleID生成
最后选择Submit
选项,在下一个界面中选择Done
选项,这样我们设置AppID的步骤我们就完成了。
3. 生成Cer证书(*.cer)
进入苹果开发者网址的证书配置页面(上面生成AppleID已经讲过这个,这里不重复了),这里以开发证书为例,发布证书步骤差不多。
4. 生成授权证书(*.mobileprovision)
进入苹果开发者网址的证书配置页面
设备号生成:选择左侧的
"Devices"
,然后点击右上角的加号,在随后出来的页面上添加你设备的UUID(在Xcode中可以查看到)以及name( 可以随便取,自己看的懂就行),然后Register
一下,照着流程走到最后一步就完成了。
5. 导出秘钥(*.p12)
第5步不是必须的,一般这个秘钥需要上传到推送服务器那边,你如果只是真机调试的话,做到第4步即可
我之前搞推送的时候是把秘钥上传到极光推送JPush
的服务器,搞了老久了,终于理清楚整个流程。
这一节是个准备阶段,因为我下一节要讲推送了,需要用到推送证书,否则无法调试,希望大家理解。
---恢复内容结束---
一、iOS证书
iOS常用的证书包括开发证书和发布证书,无论是真机调试还是最终发布应用到App Store这两个证书都是必须的,它是iOS开发的基本证书。Xcode7以后真机调试就不需要开发证书,真是开发者的福音啊!我再也不用为没有开发者账号而不能真机调试而担心了,(^o^)/~。
- 开发证书:
开发证书又分为普通开发证书和推送证书,如果仅仅是一般的应用则前者即可满足,但是如果开发推送应用则必须使用推送证书。 - 发布证书:
发布证书又可以分为普通发布证书、推送发布证书、Pass Type ID证书、站点发布证书、VoIP服务证书、苹果支付证书。同样的,对于需要使用特殊服务的应用则必须选择对应的证书。
二、一些概念的普及:
1. 应用标识AppID:
应用程序的唯一标识,对应iOS应用的Bundle Identifier
,AppID在苹果开发者中心中分为:
- 通配的应用ID:
有通配符,例如liuting.eat.*
,一般用于普通应用开发,一个通配ID可以适用于多个不同标识的应用 - 明确的应用ID:
没有通配符,例如liuting.push.com
,对于使用消息推送、Passbook、站点发布、iCloud等服务的应用必须配置明确的应用ID
2. 设备标识UDID:
设备标识UDID用于标识每一台硬件设备的标示符。
注意它不是device token
,device token
是根据UDID使用一个只有Apple自己才知道的算法生成的一组标示符。
3. 授权证书:
授权证书,英文Provisioning Profiles
,后缀为*.mobileprovision
。将UDID、AppID、开发证书打包在一起的配置文件,同样分为开发和发布两类配置文件。
4. 秘钥:
- 在申请开发证书时必须要首先提交一个秘钥请求文件,对于生成秘钥请求文件的Mac,如果要做开发,则只需要下载开发证书和授权证书即可开发。
- 如果要想在其他机器上做开发,则必须将证书中的秘钥导出(导出之后是一个
*.p12
文件),然后导入其他机器。 - 对于类似于推送服务器端应用,如果要给APNs发送消息,同样需要使用秘钥文件,并且这个秘钥文件需要是推送证书导出的对应秘钥。
三、推送证书与秘钥申请全过程
1. 生成本机证书(*.certSigningRequest)
2. AppleID生成
最后选择Submit
选项,在下一个界面中选择Done
选项,这样我们设置AppID的步骤我们就完成了。
3. 生成Cer证书(*.cer)
进入苹果开发者网址的证书配置页面(上面生成AppleID已经讲过这个,这里不重复了),这里以开发证书为例,发布证书步骤差不多。
4. 生成授权证书(*.mobileprovision)
进入苹果开发者网址的证书配置页面
设备号生成:选择左侧的
"Devices"
,然后点击右上角的加号,在随后出来的页面上添加你设备的UUID(在Xcode中可以查看到)以及name( 可以随便取,自己看的懂就行),然后Register
一下,照着流程走到最后一步就完成了。
5. 导出秘钥(*.p12)
第5步不是必须的,一般这个秘钥需要上传到推送服务器那边,你如果只是真机调试的话,做到第4步即可
我之前搞推送的时候是把秘钥上传到极光推送JPush
的服务器,搞了老久了,终于理清楚整个流程。
这一节是个准备阶段,因为我下一节要讲推送了,需要用到推送证书,否则无法调试,希望大家理解。
iOS学习笔记21-推送证书与秘钥申请的更多相关文章
- IOS学习笔记—苹果推送机制APNs
转自:唐韧_Ryan http://blog.csdn.net/ryantang03/article/details/8482259 推送是解决轮询所造成的流量消耗和 电量消耗的一个比较好的解决方案, ...
- IOS个人帐号推送证书创建
(IOS个人帐号推送证书制作所有步骤: 可以直接将产品推送证书和开发者推送证书一起制作到一个Identifier帐号下) 一. 首先需要创建一个id:有推送功能的(App ID Suffix)只有它才 ...
- 【原】iOS学习之极光推送
一.极光推送工程端 1.下载SDK 极光推送是一个推送消息的第三方,SDK下载:https://www.jpush.cn/common/products 集成压缩包内容:包名为JPush-iOS-SD ...
- [html5] 学习笔记-服务器推送事件
1.HTML5服务器推送事件介绍 服务器推送事件(Server-sent Events)是Html5规范的一个组成部分,可以用来从服务端实时推送数据到浏览器端. 传统的服务器推送技术----WebSo ...
- iOS学习笔记22-推送通知
一.推送通知 推送通知就是向用户推送一条信息来通知用户某件事件,可以在应用退到后台后,或者关闭后,能够通过推送一条消息通知用户某件事情,比如版本更新等等. 推送通知的常用应用场景: 一些任务管理APP ...
- IOS远程推送证书的制作步骤
今天还在看环信的使用方法,在环信的官网上发现了这组制作远程推送证书的一组图片,正好之前本人没有写过关于远程证书的笔记,这里要写一篇博文,整理一下远程推送证书的制作流程,尽管如此,本篇博文依然是作者原创 ...
- iOS推送证书转pem文件
iOS推送证书转 .pem文件. 推送证书转pem文件openssl x509 -in apns_miaobozhibo.cer -inform der -out apns_miaobozhibo.p ...
- iOS - 极光推送证书的创建及过期处理
无论iPhone还是安卓,我们用到的所有应用基本都有推送通知服务,因为这是应用很好的推广方式,有新产品了.有新更新了通知下用户及时查看.但Apple有点特殊,它的推送需要发到苹果服务器上中转一下,这就 ...
- 李洪强iOS之集成极光推送二iOS 证书 设置指南
李洪强iOS之集成极光推送二iOS 证书 设置指南 创建应用程序ID 登陆 iOS Dev Center 选择进入iOS Provisioning Portal. 在 iOS Provisioning ...
随机推荐
- codevs 3129 奶牛代理商IX
时间限制: 1 s 空间限制: 32000 KB 题目等级 : 白银 Silver 题目描述 Description 小X从美国回来后,成为了USACO中国区的奶牛销售代理商,专门出售质优价廉的“ ...
- (四)maven之查找jar包坐标,选择jar包版本
① 先访问http://www.mvnrepository.com/ ,这个地址是maven的公共库. ② 以spring core的jar包为例.在页面的最上方的中间,输入spring ...
- openstack安装dashboard后访问horizon出错 End of script output before headers: django.wsgi
在配置文件中增加如下的一句解决问题 /etc/apache2/conf-available/openstack-dashboard.conf WSGIApplicationGroup %{GLOBAL ...
- 推荐一个免费的生成词云(word cloud)的在线工具
"词云"这个概念由美国西北大学新闻学副教授.新媒体专业主任里奇·戈登(Rich Gordon)提出. "词云"就是对网络文本中出现频率较高的"关键词& ...
- Lesson1
#ifdef __cplusplus #include <cstdlib> #else #include <stdlib.h> #endif #include <SDL/ ...
- windows/Linux 常用命令
windows 文件操作命令 cd 切换文件目录 dir 显示文件目录内容 md 创建文件夹 rd 删除文件夹 copy 拷贝文件 move 移动文件 del 删除文件 replace 替换文件 mk ...
- python基础面试题整理---从零开始 每天十题(04)
一.Q:如何用Python来进行查询和替换一个文本字符串? A:可以使用sub()方法来进行查询和替换,sub方法的格式为:sub(replacement, string[, count=0]) re ...
- HTTP协议详解-基础知识
HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.绝大多数的Web开发,都是构建在HTTP协议之上的Web应用. HTTP协议的主要特点可概括如下: 简单: ...
- Luogu P3627 抢掠计划
题目传送门 \(Tarjan\)缩点+SPFA最长路 #include<iostream> #include<cstdio> #include<cstring> # ...
- Java中的线程--线程的互斥与同步通信
Java中的线程之前也提到过,但是还是想再详细的学习一下,跟着张孝祥老师,系统的再学习一下. 一.线程中的互斥 线程安全中的问题解释:线程安全问题可以用银行中的转账 例题描述: 线程A与线程B分别访问 ...