今天刚升级到ios8系统,原项目编译发现异常信息:
registerForRemoteNotificationTypes: is not supported in iOS 8.0 and later.
于是查了资料,原来是注册方式改变了,蛋疼的苹果!
解决方法如下,同时对ios8以下版本进行处理:
if ([application respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) {
// iOS 8 推送注册
[application registerUserNotificationSettings:
[UIUserNotificationSettingssettingsForTypes:
(UIUserNotificationTypeSound
|UIUserNotificationTypeAlert
|UIUserNotificationTypeBadge)
categories:nil]];
[application registerForRemoteNotifications];
} else {
// iOS 8 以下版本推送注册
[application registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge
|UIRemoteNotificationTypeAlert
|UIRemoteNotificationTypeSound)];
}