在IOS7中設(shè)置
applicationIconBadgeNumber
不會(huì)有什么問題班挖,但是直接在IOS8中設(shè)置applicationIconBadgeNumber
會(huì)報(bào)錯(cuò)
因?yàn)樵贗OS8中要想設(shè)置applicationIconBadgeNumber
缀去,需要用戶的授權(quán),在IOS8中梯浪,需要加上下面的代碼:
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
但是這兩句如果是在IOS7的系統(tǒng)中運(yùn)行的話就會(huì)報(bào)錯(cuò)牛曹,所以需要先判斷IOS的版本佛点,完整代碼如下:
float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version >= 8.0) {
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
}
如果是注冊(cè)消息推送的話,需要這樣寫:
float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version >= 8.0) {
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
[application registerForRemoteNotifications];
}