APNS编程----iOS真机测试消息推送

 

APNS编程----iOS真机测试消息推送

分类: IOS开发   1962人阅读  评论(2)  收藏  举报

1、准备工做html

1 拥有一台iOS为操做系统的苹果设备,iPhone,iPad,iPod均可以。ios

2 拥有苹果开发者帐号,须要真机调试,最好是是付费开发者,后面的步骤将会更顺利。编程

3 须要一台PC作推送服务器,若是是台拥有MAC OS系统,将会更方便。xcode

2、了解大体步骤服务器

咱们须要从测试的消息推进服务器,发送一条消息到Apple Push Notification Services,而后APNS转发到iOS设备,完成消息推送过程。网络

因为咱们的测试服务器到APNS,传递的是加密后的消息,因此须要申请证书。app

3、申请证书ide

 
1 下面是须要的证书文件

 

 2证书申请的流程以下 ,部份内容转载自网络函数

2.1 建立SSL证书 oop

首先须要须要建立一个App ID以及关联的SSL证书。有了证书,解析服务器才能找到你的App ID,继而将通知推送到你的应用。

建立一个证书请求文件: 
a. 在mac上运行钥匙串访问(keychain) 
b. 选择钥匙串访问>证书助理>从证书颁发机构中请求一个证书 
c. 输入你的名字和邮件地址,CA邮件地址默认就能够,不要试图去进行任何改动。 
d. 选择“保存到硬盘”,这样.certSigningRequest的文件生成了。

2.2而后建立APP ID: 
a. 登录网站Apple Developer Member Center并进入iOS Provisioning Portal。 
b. 从左边栏里点击App IDs。 
c. 选择New App ID,而后建立一个新的App ID。必定要确保Bundle Identifier一栏中没有星号。 
d. 在你的App ID下面找到Configure,选中。 
e. 将“Enable for Apple Push Notification service”勾选上,而后点击Development Push SSL Certificate下面的Configure,而后会出现Apple Push Notification service SSL Certificate Assistant设置向导。 
f. 点击Continue继续,而后点击Choose File,选中刚建立见的.certSigningRequest文件。 
g. 点击Generate开始生成,而后点击Download下载生成的SSL证书。 
h. 经过keychain程序来安装下载好的SSL证书。 
i. 接着在“个人证书”选项先面,找到你刚才安装名称形如“Apple Development IOS Push Services: xxx”的证书。 
j. 双击证书,选择“导出”,导出后的文件后缀名为.p12。这个时候千万注意!出现密码提示的时候必定不要添任何东西

至此SSL证书建立完成。 

2.3.建立Provisioning Profile 

Provisioning文件是用来受权iOS设备的
a. 在 ios provisioning portal中选择provisioning 
b. 点击New profile 
c. 按照要求填写profile name,certificate,APP ID(刚才建立的app id),devices 
d. 下载生成的provisioning profile 
e. 双击安装。 

2.4成功后能够经过Organizer,看到以下图

4、获取设备的deviceToken,用xcode 建立一个新的工程 ,直接下载

1 将main identifier 设置为以前的App ID(必须修改)

2  添加以下代码

 

 

  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
内添加

 

 

  1. NSLog(@"Registering for push notifications...");  
  2. [[UIApplication sharedApplication]  
  3.  registerForRemoteNotificationTypes:  
  4.  (UIRemoteNotificationTypeAlert |  
  5.   UIRemoteNotificationTypeBadge |  
  6.   UIRemoteNotificationTypeSound)];  
添加新函数

 

 

  1. - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {  
  2.       
  3.     NSString *str = [NSString  
  4.                      stringWithFormat:@"Device Token=%@",deviceToken];  
  5.     NSLog(@"%@",str);  
  6.       
  7. }  
  8.   
  9. - (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err {  
  10.       
  11.     NSString *str = [NSString stringWithFormat: @"Error: %@", err];  
  12.     NSLog(@"%@",str);  
  13.       
  14. }  
  15.   
  16. - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {  
  17.       
  18.     for (id key in userInfo) {  
  19.         NSLog(@"key: %@, value: %@", key, [userInfo objectForKey:key]);  
  20.     }      
  21.       
  22. }  

 

5、 用“服务器”发送推送消息,直接下载代码

1 须要将以前的证书.cer的文件,放到resource下

 

 

2 设置好token,发送消息,

 

6、在iOS设备上看到消息

1 动手将application:didReceiveRemoteNotification:收到的通知,用UIAlertView显示到界面上。

7、参看资料地址

证书文件夹中p12文件,是使用Java搭建测试服务器时,所须要的文件,在MAC上则不须要

Programming Apple Push Notification  Services,英文好的,能够直接看这篇   

 http://www.cnblogs.com/zhw511006/archive/2010/09/01/1815089.html

相关文章
相关标签/搜索