转载自 http://dev.xiaomi.com/doc/p=2977/index.html

什么是APNs和APNs证书?

APNs(全称为Apple Push Notification Service)是苹果为iOS和OS X设备提供的消息推送服务,iOS和OS X设备上的应用要将消息推送到客户端必须通过APNs来实现。

APNs证书是一种扩展名为p12的文件,它是应用发送消息给APNs的证明。APNs针对不同的环境有不同的证书和密码,因此p12证书文件会有两套:Development证书(我们称为开发证书)及密钥、Distribution证书(我们称为生产证书)及密钥。

为什么小米推送iOS版需要APNs证书和密钥?

小米推送iOS版是基于APNs实现的推送,最终消息仍需要经过APNs下发到客户端,因此为了实现消息的推送,需要开发者提供APNs的证书和密钥。

请注意只有2个环境的证书和密钥均提供后,才可以保证2个环境内都能正常推送消息。

如何获取APNs证书?

1、在Mac中,开启Keychina Access

2、选中你对应Bundle ID的证书,注意 Development/Distribution。注意当展开时请如图同时选中,右键Export

3、Save,请注意文件格式必须是p12

4、保存时需要你给证书设定密码,请务必设置密码,因为无密码是无法成功推送的。

请注意证书的有效期

APNs证书均有有效期的限制,过期则无法继续推送消息。

开发证书的有效期是3个月,生产证书的有效期是1年。

请务必在证书到期前重新上传新证书,以保证推送服务持续正常工作。

什么是APNs证书?的更多相关文章

  1. APNS 证书生成注意事项

    APNS证书导出pem: openssl x509 -in aps_development.cer -inform der -out yourCertName.pem APNS证书密钥导出: 先在&q ...

  2. 验证APNS证书的有效性

    openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert xxx.pem

  3. APNS 生成证书 p12 或者 PEM

    .net环境下须要p12文件,下面是生成p12过程 1.$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem ...

  4. MDM证书申请的流程

    MDM证书申请的流程 整个流程分为两部分:vendor,customer. 一.Vendor 1.成为一个 MDM Vendor 1) 首先你需要拥有一个 Apple Enterprise accou ...

  5. 添加APNS通知

    1.进入苹果开发者官网developer.apple.com,点击member center,进入登录界面. 2.输入你的开发者账号和密码,登录后会跳转到“Select your team”这个界面. ...

  6. 苹果应用 Windows 申请 普通证书 和Push 证书 Hbuilder 个推(2)

    s上一篇 讲述了android 如何打包,这一篇 看一下如何IOS下打包 在苹果上申请证书,及其麻烦,我写下来,有需要的直接拿走即可: 首先 苹果的证书分两种 一种是 development 证书,另 ...

  7. MDM 证书申请流程(vendor及customer)

    整个流程分为两部分:vendor,customer. 一.Vendor 1.成为一个 MDM Vendor 1) 首先你须要拥有一个 Apple Enterprise account($299/年). ...

  8. APNs原理解析

    什么是APNs 先说一下远程推送,一般我们有自己的服务器,在这个过程中是Provider的角色,如图,推送从我们的服务器到我们的APP的过程就是要通过APNs来发送 APNs(Apple Push N ...

  9. 李洪强iOS之集成极光推送二iOS 证书 设置指南

    李洪强iOS之集成极光推送二iOS 证书 设置指南 创建应用程序ID 登陆 iOS Dev Center 选择进入iOS Provisioning Portal. 在 iOS Provisioning ...

随机推荐

  1. 3D开发--CopperCube

    CopperCube的常用接口,以及如何用javascript语言控制场景中的人物动作,或者获取任务的位置等信息

  2. ganglia的yum插件的配置

    由于默认的centos的库是不存在ganglia的相关软件,因此要重新配置yum的库 配置yum库 安装yum优先级插件 yum install yum-priorities 安装Epel  此处是6 ...

  3. 【C#学习笔记】LinkedList容器使用

    using System; using System.Collections.Generic; namespace ConsoleApplication { class Program { stati ...

  4. 数据库语言(三):MySQL、PostgreSQL、JDBC

    MySQL MySQL资料很多,这里只给出一个在论坛博客中最常用的操作:分页 mysql> select pname from product limit 10,20; limit的第一个参数是 ...

  5. jQuery点击div其他地方隐藏div

    $(document).bind("click",function(e){ var target = $(e.target); ){ $("#regionlist&quo ...

  6. sharepoint2010 创建自定义列表

    转:http://boke.25k5.com/kan77298.html 如何创建自定义列表 首先了解创建自定义列表中涉及到的几个名词:栏.内容类型. ①栏:栏即列.字段(Field),MSDN中给出 ...

  7. hdu 3461 Code Lock(并查集)2010 ACM-ICPC Multi-University Training Contest(3)

    想不到这还可以用并查集解,不过后来证明确实可以…… 题意也有些难理解—— 给你一个锁,这个所由n个字母组成,然后这个锁有m个区间,每次可以对一个区间进行操作,并且区间中的所有字母要同时操作.每次操作可 ...

  8. Spring的事务传播属性,数据库的隔离级别

    Spring事务的传播属性  REQUIRED 业务方法需要在一个事务中运行,如果方法运行时,已处在一个事务中,那么就加入该事务,否则自己创建一个新的事务.这是spring默认的传播行为. SUPPO ...

  9. setFocusable、setEnabled、setClickable区别

    setClickable  设置为true时,表明控件可以点击,如果为false,就不能点击:“点击”适用于鼠标.键盘按键.遥控器等:注意,setOnClickListener方法会默认把控件的set ...

  10. Oracle11g导入*.dmp数据文件

    imp命令导入数据:imp username/password@SID file=XXX.dmp fromuser=XXX touser=XXX tables=(XXX,XXX)  [ignore=y ...