標籤:
摘要
在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];}
感謝分享
IOS開發—IOS 8 中設定applicationIconBadgeNumber和訊息推送