標籤:des blog io os ar for div 2014 on
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_SIMULATORDLog(@"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}
iOS8遠程推送