1. Apple推送通知的机制

上图可以分为三个阶段:

  第一阶段:应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。

  第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone。

  第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设定弹出Push通知。

 
2、IOS开发人员提供cert.12和key.12。

  cert.p12 -> cert.pem:  openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12

  key.p12 -> key.pem:   openssl pkcs12 -nocerts -out key.pem -in key.p12

注意这里有三个密码输入(前两个是生成p12时设定的密码,后一个是服务端通讯要用到的密码。建议使用同一个密码)

如果需要key设置加密:

  key.pem -> key.unencrypted.pem:   openssl rsa -in key.pem -out key.unencrypted.pem

然后就可以合并两个.pem文件。

  cert.pem + key.unencrypted.pem -> cert_key.pem:  cat cert.pem key.unencrypted.pem > cer_key.pem

 3、利用apns2-test进行推送测试

  apns2-test.zip下载地址: http://files.cnblogs.com/files/Kingfans/apns2-test.zip。 解压apns2-test.zip后编译运行。
 
 
app显示:
 
 
 

IosPush推送通知的实现的更多相关文章

  1. APNS 远程推送通知 PUSH deviceToken

    服务器向客户端推送消息:      当应用程序推到后台,或者根本就没有运行(我们的代码无能为力)      如果这种情况之下,应用程序想和用户交互(传统的做法 不可能)      推送 APNS:Ap ...

  2. iOS 本地推送通知

    1.什么是本地推送通知 不需要联网的情况下,应用程序经由系统发出的通知 2.本地推送的使用场景 定时提醒,如玩游戏.记账.闹钟.备忘录等 3.实现本地推送通知的步骤 创建本地推送通知的对象UILoca ...

  3. APNS 服务推送通知

    1. 将app注册notification里面, 并从APNS上获取测试机的deviceToken. - (BOOL)application:(UIApplication *)application ...

  4. WP7推送通知服务

    原文地址http://www.cnblogs.com/Joetao/articles/2214482.html (一)为什么使用推送通知服务(1)Windows Phone执行模型决定只有一个第三方的 ...

  5. iOS上简单推送通知(Push Notification)的实现

    iOS上简单推送通知(Push Notification)的实现 根据这篇很好的教程(http://www.raywenderlich.com/3443/apple-push-notification ...

  6. Windows Azure Service Bus Notification Hub推送通知

    前言 随着Windows Azure 在中国的正式落地,相信越来越多的人会体验到Windows Azure带来的强大和便利.在上一篇文章中, 我们介绍了如何利用Windows Azure中的Servi ...

  7. 【WP 8.1开发】手机客户端应用接收推送通知

    上一篇文章中,已经完成了用于发送通知的服务器端,接下来我们就用这个服务端来测试一下. 在开始测试之前,我们要做一个接收通知的WP应用. 1.启动VS Express for Windows,新建项目, ...

  8. 【WP 8.1开发】推送通知测试服务端程序

    所谓推送通知,用老爷爷都能听懂的话说,就是: 1.我的服务器将通知内容发送到微软的通知服务器,再由通知服务器帮我转发消息. 2.那么,微软的推送服务器是如何知道我的服务器要发消息给哪台手机呢?手机客户 ...

  9. iOS 远程推送通知

    1.什么是推送通知 在某些特殊情况下,应用程序被动收到的以不同种界面形式出现的提醒信息 推送通知的作用:可以让不在前台运行的app通知app发生了改变 iOS中得推送通知种类 远程推送通知(Remot ...

随机推荐

  1. C# dev开发过程中的山炮问题汇总

    1. 后台注册控件,页面form提交,后台获取控件方法  Request.Form["name"]:

  2. hashMap的get()方法,错用并发造成cpu和负载高

    一次线上问题的解决 线上发现服务cpu使用达到98%,负载高达200多,64核心cpu,下面介绍解决过程: 1.top命令查出占用cpu高的进程pid 2.使用jstack -l pid >du ...

  3. HostOnly Cookie和HttpOnly Cookie

    怎么使用Cookie? 通常我们有两种方式给浏览器设置或获取Cookie,分别是HTTP Response Headers中的Set-Cookie Header和HTTP Request Header ...

  4. bootstrap 3 with IE8 compatibility

    12栅格布局在IE8下不起作用. 下载并引用html5shiv.js和respond.js 参考: 1.http://nextflow.in.th/en/keep-your-responsive-we ...

  5. [小哥Allegro72讲速成视频]

    http://v.qq.com/vplus/df932a993679cf80a0b6c87bb849e22c 第01讲 Allegro常用组件介绍 视频链接:http://v.qq.com/boke/ ...

  6. nodeJs中创建服务器

    var http=require('http'); var httpObj=http.createServer(function(req,res) { console.log('someBody:' ...

  7. nullcon HackIM 2016 -- Crypto Question 3

    After entring the luxurious condomium,you get the feel that you are in home of a yester Star. the ex ...

  8. Camstar Portal modeling user guid --WorkCenter workCell workStation的关系

    业务需求:如何让用户登陆时选择  生产线(如:SMT生产线) Operation(如:维修员)  工作单元(如:印刷段) 工作站(如:上板) 关系图: 从上图可以看出: workCell是Resour ...

  9. PLSQL win7 64位

    1. 解压instantclient-basic-win32-11.2.0.1.0.zip至Oracle安装目录的Product下 具体目录如下D:\Oracle\product\instantcli ...

  10. 当前界面最上面添加视图(UIWimdow)

    -(void)windowAddPushVc:(UIView *)pushView WithTitle:(NSString *)title { UIWindow *window = [UIApplic ...