1、初始化
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { ... if (SYSTEM_VERSION >= 8.0) { //ios8注册推送 UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeSound |UIRemoteNotificationTypeAlert) categories:nil]; [[UIApplication sharedApplication] registerUserNotificationSettings:settings]; } else { [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeSound|UIRemoteNotificationTypeAlert)]; } ... }
2、推送代理
///iOS8 - (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings { #if !TARGET_IPHONE_SIMULATOR //register to receive notifications [application registerForRemoteNotifications]; #endif } - (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void(^)())completionHandler { #if !TARGET_IPHONE_SIMULATOR //处理自定义通知 if ([identifier isEqualToString:@"customAction1"]){ } else if ([identifier isEqualToString:@"customAction2"]){ } #endif } - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error { #if !TARGET_IPHONE_SIMULATOR DLog(@"Error in registration. Error: %@", error); UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Push notification registering error", nil) message:[error localizedDescription] delegate:self cancelButtonTitle:NSLocalizedString(@"OK", nil) otherButtonTitles:nil]; [alertView show]; [alertView release]; #endif } - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { #if !TARGET_IPHONE_SIMULATOR //处理通知 #endif }
时间: 2024-10-15 07:10:21