iphone push notification 消息推送

来源:互联网 发布:贝克汉姆曼联数据 编辑:程序博客网 时间:2024/05/17 07:20

首先声明下写这个文章的目的,就是让更多人更好的了解push notificaiton 苹果的消息推送功能。(虽然网上有很多类似的文章说明,但是当自己实践起来的时候还是觉得花费了不少的时间)

 

在文章之前先提及以下几个概念

 

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

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工程文件同级目录下,并且添加到PushMeBaby工程中

 

2、把 pushClient安装到真机上运行后获取 deviceToken 在gcd中可以看到打印的log 信息 如 

deviceToken: <4259469e 7cb261ef 587ed067 ee4db238 4a403a06 6b9bb996 4dcdfbf8 c0cb324f>

(其实就是 push client中

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

{

}

 

中的deviceToken

)

 

 

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

ApplicationDelegate.m

-(id)init

{

...

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

}

 

运行工程后如图

 

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

 

 

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

 

常见错误信息:

1、未找到应用程序的“aps-environment”的权利字符串  

最主要的一点是你的 push的程序ID不允许带通配符

具体查看 

http://www.cnblogs.com/iphone-crash/archive/2011/08/25/2153301.html

原创粉丝点击