码迷,mamicode.com
首页 > 其他好文 > 详细

控制 打开和关闭远程推送通知

时间:2016-02-25 15:28:38      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

首先初始化一个switch,如下:

技术分享

我是在cell里面创建的,

然后实现switch的方法:

技术分享

这里的话,通过判断switch的状态,yes或是no来控制关闭的,因为app首次运行的话,是有一个注册通知的提示框,点击好以后,就可以接受到apns的推送服务了,如果用户点击不允许的话,是不能接收到推送的!切记!

注意这里面的状态判断:1,声明一个bool变量,根据key值取出来,进行关联,注意这样的话,有一个问题,就是switch默认的状态是no,所以如果就直接这样写的话,用户首次运行,apns的服务默认是关闭的,当然这是不合逻辑的,首次肯定是yes,默认打开,所以swich得状态也肯定得是打开的;

2,解决方法:在注册推送的时候一个方法,就是注销之后再重新注册的方法:当然了需要加一个判断

我写的是只有状态不是no就让他走这个方法,如图

技术分享

注意:这三段代码中有2个地方有取反的状态,还有就是在实现switch点击方法的时候需要做的是,在swith取出来状态是yes的时候,让isOneSwitch的状态为no,反之也是,然后在初始化swith的时候,取反,这样的话,就可以实现默认swith是yes,对swith进行操作之后的状态就可以存储!

取消推送通知的方法有2个:

1)[XGPush unRegisterDevice];//注销设备   这个是信鸽官方提供的方法,完美解决问题!

2)[[UIApplication sharedApplication] unregisterForRemoteNotifications];//注销通知  用这个方法,可以达到效果,但是我自己测试的结果是会受到3条信息,一次性,如果有大神指导,请指教!

 

控制 打开和关闭远程推送通知

标签:

原文地址:http://www.cnblogs.com/hero11223/p/5216965.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!