iOS的本地推送刪除不了解決方法


最近在研究蘋果推送,當測試本地推送的時候,發現一個問題,就是一旦你添加了一個本地推動的通知,當你修改代碼,刪除應用,當你再次運行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];
 
         


 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM