码迷,mamicode.com
首页 > 移动开发 > 详细

iOS的本地推送删除不了解决方法

时间:2015-02-06 14:51:54      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

最近在研究苹果推送,当测试本地推送的时候,发现一个问题,就是一旦你添加了一个本地推动的通知,当你修改代码,删除应用,当你再次运行app,它还是会在横幅上面弹出推送,尼玛怎么搞都删除不了,近乎崩溃了,开始以为是ios7的Bug,苹果爹自ios7之后各种bug曾出不穷,不过最后冷静思考了一下,有木有可能App本地的推送是设置系统里面,所以你在app删除本地推送的代码都没办法取消推送,于是终于给我找到了一个 cancelAllLocalNotifications方法,尼玛,蛋疼的本地推送终于不见了...狗皮膏药般的恶魔终于不见了.

这个是产生本地推送的一个本地通知,一旦你运行它,那么恭喜,你删除app,修改代码,再安装,横幅就一直尼玛的弹呀弹...                      

     UILocalNotification *notification = [[UILocalNotification alloc] init];
    
    //设置10秒之后
    
    NSDate *pushDate = [NSDate dateWithTimeIntervalSinceNow:10];
    
    if (notification != nil) {
        
        // 设置推送时间
        
        notification.fireDate = pushDate;
        
        // 设置时区
        
        notification.timeZone = [NSTimeZone defaultTimeZone];
        
        // 设置重复间隔
        
        notification.repeatInterval = kCFCalendarUnitDay;
        
        // 推送声音
        
        notification.soundName = UILocalNotificationDefaultSoundName;
        
        // 推送内容
        
        notification.alertBody = @"推送内容";
        
        //显示在icon上的红色圈中的数子
        
        notification.applicationIconBadgeNumber = 1;
        
        //设置userinfo 方便在之后需要撤销的时候使用
        
        NSDictionary *info = [NSDictionary dictionaryWithObject:@"name"forKey:@"key"];
        
        notification.userInfo = info;  
        
        //添加推送到UIApplication       
        
        UIApplication *app = [UIApplication sharedApplication];  
        
        [app scheduleLocalNotification:notification];

怎么才能取消这种流氓行为呢?只需要3行代码,世界瞬间清净了...顺带删除掉那个1的小红点

UIApplication *app = [UIApplication sharedApplication];
app.applicationIconBadgeNumber = 0;
[app cancelAllLocalNotifications];



 

 

iOS的本地推送删除不了解决方法

标签:

原文地址:http://www.cnblogs.com/zuopeng/p/4277029.html

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