IOS推送--之开发模式测试

参考文章:http://blog.csdn.net/showhilllee/article/details/8631734#comments

第一步、下载你工程的开发证书

第二步、从钥匙串访问中导出秘钥

注意我在这里使用的密码是123456

把他们放在同一个文件里边

第三步、证书文件处理

打开终端进入上述文件夹

① 输入命令把.cer的SSL证书转换为.pem文件openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem

②输入命令把私钥test.p12文件转化为.pem文件

openssl pkcs12 -nocerts -out PushChatKey.pem -in test.p12

③对生成的这两个pem文件再生成一个pem文件,来把证书和私钥整合到一个文件里:

cat PushChatCert.pem PushChatKey.pem > ck.pem

生成ck.pem文件

④测试与苹果推送服务器连接;

telnet gateway.sandbox.push.apple.com 2195

⑥下面我们要使用我们生成的SSL证书和私钥来设置一个安全的链接去链接苹果服务器

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem

输入Q结束

客户端我就不说了

第四步、获取deviceToken及推送php测试代码

①运行你的App获取deviceToken,将你获取到deviceToken填写至php代码中的位置;

②在终端输入php pushMe.php(php代码稍后贴上)

注意php代码必须和其他文件放在一个文件夹中

php代码段

 1 <?php
 2
 3 // Put your device token here (without spaces):
 4
 5 $deviceToken = ‘deviceToken去掉中间的空格‘;
 6
 7 // Put your private key‘s passphrase here:密语
 8 $passphrase = ‘123456‘;
 9
10 // Put your alert message here:
11 $message = ‘这是一条推送消息‘;
12
13 ////////////////////////////////////////////////////////////////////////////////
14
15 $ctx = stream_context_create();
16 stream_context_set_option($ctx, ‘ssl‘, ‘local_cert‘, ‘ck.pem‘);
17 stream_context_set_option($ctx, ‘ssl‘, ‘passphrase‘, $passphrase);
18
19 // Open a connection to the APNS server
20 $fp = stream_socket_client(
21     ‘ssl://gateway.sandbox.push.apple.com:2195‘, $err,
22     $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
23
24 if (!$fp)
25     exit("Failed to connect: $err $errstr" . PHP_EOL);
26
27 echo ‘Connected to APNS‘ . PHP_EOL;
28
29 // Create the payload body
30 $body[‘aps‘] = array(
31     ‘alert‘ => $message,
32     ‘sound‘ => ‘default‘
33     );
34
35 // Encode the payload as JSON
36 $payload = json_encode($body);
37
38 // Build the binary notification
39 $msg = chr(0) . pack(‘n‘, 32) . pack(‘H*‘, $deviceToken) . pack(‘n‘, strlen($payload)) . $payload;
40
41 // Send it to the server
42 $result = fwrite($fp, $msg, strlen($msg));
43
44 if (!$result)
45     echo ‘Message not delivered‘ . PHP_EOL;
46 else
47     echo ‘Message successfully delivered‘ . PHP_EOL;
48
49 // Close the connection to the server
50 fclose($fp);
51
52 ?>

代码下载:php代码下载

时间: 2024-10-17 05:25:13

IOS推送--之开发模式测试的相关文章

申请iOS推送证书.p12

iOS APP需要推送通知,要用到iOS推送证书,分为测试调试用的iOS推送证书(开发环境)和上架到App Store的ios 推送证书(生产环境)! 一.iOS发布推送证书(开发环境)测试APP iOS证书申请这里用到一个工具Appuploader,可以在win系统中辅助快速申请iOS证书,如果没有Mac也无所谓. 可以很快速的创建iOS推送证书 先安装好Appuploader安装教程 1.打开Appuploader,选择Certification. 2.点击+ADD\选择Push Notif

iOS推送证书申请

iOS APP需要推送通知,要用到iOS推送证书,分为测试调试用的iOS推送证书和上架到App Store的ios 推送证书! iOS证书申请这里用到一个工具Appuploader,可以在win系统中辅助快速申请iOS证书,如果没有Mac也无所谓. 可以很快速的创建iOS推送证书 先安装好Appuploader安装教程 一.iOS发布推送证书(上架到App Store使用) 1.打开Appuploader,选择Certification. 2.点击+ADD\选择Push Notification

苹果IOS、安卓推送功能开发

IOS推送开发:以下是基于开源javapns推送开发1.DerInputStream.getLength(): lengthTag=111, too big.先排除是否由于打包时证书 .p12 文件被编译/修改,maven项目打包处理方式 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <

IOS推送通知测试工具PushMeBaby

下载了PushMeBaby在xcode5里中不能使用,类库变了.需要添加Carbon.framework库,在引用的地方改成: #include <Carbon/Carbon.h>,程序就可以 运行了.测试时要变成自己的证书. 下载地址:点击打开链接 IOS推送通知测试工具PushMeBaby,码迷,mamicode.com

iOS推送 再备

这是一篇编译的文章,内容均出自Parse.com的iOS开发教程,同时作者还提供了视频讲解.本文将带领开发者一步一步向着iOS推送通知的深处探寻,掌握如何配置iOS推送通知的奥义. 介绍一点点背景资料 众所周知,使用推送通知是一个很棒的.给应用添加实时消息通知的方式.这样做的结局是,开发者和用户之间,彼此永远保持着一种令人愉悦的亲密关系. 然而不幸的是,iOS的推送通知并非那么容易驾驭,往往会搞的开发者精疲力尽,灰心丧气,无法持久.现在,救星来了!只要通读本教程,你就能摆脱这些烦恼,成为一名活力

教你做IOS推送 包会!

最近在研究iOS的推送问题,遇到了一些问题,最终整理了一下,放在这里和大家分享. APNS的推送机制 首先我们看一下苹果官方给出的对iOS推送机制的解释.如下图 Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification Service的缩写,也就是苹果的推送服务器. 上图可以分为三个阶段: 第一阶段:应用程序的服务器端把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相

手把手教你做iOS推送

最近在研究iOS的推送问题,遇到了一些问题,最终整理了一下,放在这里和大家分享. APNS的推送机制 首先我们看一下苹果官方给出的对iOS推送机制的解释.如下图 Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification Service的缩写,也就是苹果的推送服务器. 上图可以分为三个阶段: 第一阶段:应用程序的服务器端把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相

iOS推送小结--swift语言

APNS的推送机制 首先我们看一下苹果官方给出的对ios推送机制的解释.如下图 Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification Service的缩写,也就是苹果的推送服务器. iPhone当然就是我们的iOS设备了,CllentApp就是我们的客户端程序 第一阶段:应用程序的服务器端把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把

iOS推送之远程推送

最近公司项目升级重构(重写),除了本来我所负责的模块,最后临危受命接了推送(远程和本地)相关的模块,顺便把推送的相关知识复习了一遍.后期连续工作十几天加上最后一天的通(瞎)宵(熬)达(一)旦(夜),也算是不辱使命.此文除了讲解远程推送相关的基本知识外,也会涉及一些推送相关的奇淫技巧.另外本文主要讲解远程推送,后续会出一篇iOS推送之本地推送(iOS Notification Of Local Notification)的姊妹篇. 此篇文章的逻辑如下图所示: 图0-0 此篇文章的逻辑图 远程推送原