博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

iphone push notification 消息推送

Posted on 2011-05-09 14:16  BradyChen  阅读(3508)  评论(0编辑  收藏  举报

对照如上图我们介绍文章后面的一些概念

1、Provider: 就是对应后面介绍的  PushMeBaby工程(用来向APNS发送消息)

2、APNS: Apple_Push_Notification_Service 苹果消息推送服务器

3、iphone:用来接受APNS下发下来的消息推送

4、Client App: 对应后面提到的 PushClient 工程,安装在iphone上面的程序 (用来接收iphone传递APNS下发的消息到制定的一个客户端 app)

-------------------------------------------------------------------------------------------------------------------------------------------------------

介绍完以后几个概念以后,现在先申明下在以下的工程配置中要用到 苹果开发者帐号 去下载 aps_developer_identity.cer 然后重命名apns.cer放在 pushMeBaby工程中才可以顺利的配置好推送的一些功能。

----------------------------------------------------------------------------------------------------------------------------------------------------

现在进入正题

1、获取deviceToken

在 PushClient工程的的main.m文件中的

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

方法中获取到 deviceToken,用来填充在 PushMeBaby中向服务器发送信息
2、获取在服务端所要的许可证 (要用到开发者帐号中的相关配置)
  1、    首先登录https://developer.apple.com/devcenter/ios/index.action  登录帐号
        

    2、 

         

   3、 

    4、下载 push ssl certificate 把原文件名称aps_developer_identity.cer -------->重命名为apns.cer

  5、下载下来的testpush.mobileprovision配置到工程中

前期的工程配置和一些证书获取完毕以后我们要下载工程文件PushMeBaby 和 PushClient

下载地址:

http://download.csdn.net/source/3182374

下载完成以后我们要做两个事情

1、把刚才获取的apns.cer文件拷贝到pushMeBaby工程文件同级目录下

2、把 pushClient安装到真机上运行后获取 deviceToken

(其实就是 push client中

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

{

}

中的deviceToken

)

记住然后在工程 pushMeBaby中用刚才获取的40为字符替换掉在

ApplicationDelegate.m

-(id)init

{

...

self.deviceToken = "刚才获取的deviceToken";

}

运行工程后如图

其中如图上面的Device Token就是要push的机子

然后运行pushMeBaby运行正常的话就可以看到如下的效果,APNS