发现一个问题,就是一旦你添加了一个本地推动的通知,当你修改代码,删除应用,当你再次运行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;//添加推送到UIApplicationUIApplication*app =[UIApplication sharedApplication];
[app scheduleLocalNotification:notification];
怎么才能取消这种流氓行为呢?只需要3行代码,世界瞬间清净了...顺带删除掉那个1的小红点
UIApplication *app =[UIApplication sharedApplication];
app.applicationIconBadgeNumber = 0;
[app cancelAllLocalNotifications];