远程推送也就是远程通知,对于IOS8之前的和IOS8之后的远程通知是有区别的----------------------
①IOS8.0之前
UIRemoteNotificationType types = UIRemoteNotificationTypeBadge
| UIRemoteNotificationTypeAlert
| UIRemoteNotificationTypeSound;
[[UIApplicationsharedApplication] registerForRemoteNotificationTypes:types];//在IOS8.0之后这个方法需要是使用
registerForRemoteNotifications and registerUserNotificationSettings:代替.....
②IOS8.0及其以后
UIUserNotificationSettings *settings = [UIUserNotificationSettingssettingsForTypes: (UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeSound |UIRemoteNotificationTypeAlert) categories:nil];
[[UIApplicationsharedApplication] registerUserNotificationSettings:settings];
同时需要配合一下两个方法在delegate里面进行操作
#ifdef __IPHONE_8_0
- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings*)notificationSettings{
[application registerForRemoteNotifications];
}
- (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void(^)())completionHandler
{
}
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
//上传到服务器
}
-(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{
NSLog(@"didFailToRegisterForRemoteNotificationsWithError");
}