ios8下的远程推送通知

       今天将项目适配IOS8,但是推送通知注册设备获得设备标识的几个代理方法一直没有执行。didRegisterForRemoteNotificationsWithDeviceToken   和   didFailToRegisterForRemoteNotificationsWithError 。即如下的方法没有被执行。


       后来查了一下UIApplication (UIRemoteNotifications)远程推送这个类的API ,发现IOS8下新增了一个API  registerForRemoteNotifications

       即原来的设置推送类型方法 registerForRemoteNotificationTypes:(UIRemoteNotificationType)types 在ios8下被弃用了。代替这个方法的是 registerForRemoteNotifications 和 - (void)registerUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings 。第一个方法是启用远程推送通知。第二个方法是设置推送通知的类型,比如显示一个alert或者banner、在应用icon上提示一个新到消息数、播放一段声音。

       ios8以前的远程推送通知的流程是这样的,苹果官方建议在应用启动的时候,调用 registerForRemoteNotificationTypes:(UIRemoteNotificationType)types 方法向苹果服务器注册ios设备,申请设备标识devicetoken,同时设置推送通知的类型。

        但是到了ios8,苹果好像对这个远程推送做了开关限制。即在应用启动的时候必须调用 registerForRemoteNotifications 方法启用推送通知。系统才会向苹果注册和获取标识。


         并且通过 - (void)registerUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings 设置推送通知的类型 。如下



      系统在接收到远程推送通知的时候,调用方法 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 方法处理接受推送消息。



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值