iOS開發小技巧--iOS中設置applicationIconBadgeNumber遇到的問題


iOS中設置applicationIconBadgeNumber

  • 在iOS7中直接設置applicationIconBadgeNumber沒有問題,但是在iOS8之后設置applicationIconBadgeNumber,程序沒有反應.
  • 因為在iOS8之后想要設置applicationIconBadgeNumber,需要用戶授權,在iOS8中,需要加上下面的代碼:
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
  • 但是這兩句如果在iOS7的系統中運行的話就會報錯,所以需要先判斷iOS的版本,完整代碼如下:
float version = [[[UIDevice currentDevice] systemVersion] floatValue];

if (version >= 8.0) {
    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
    [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
}
  • 如果是注冊消息推送的話,需要這樣寫:
float version = [[[UIDevice currentDevice] systemVersion] floatValue];

if (version >= 8.0) {
    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
    [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
    [application registerForRemoteNotifications];
}


免責聲明!

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



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