打开AppDelegate.m
怎么做:
首先:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
- ( BOOL )application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions add Code like this #ifdef __IPHONE_8_0 //Right, that is the point UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeSound |UIRemoteNotificationTypeAlert) categories:nil]; [[UIApplication sharedApplication] registerUserNotificationSettings:settings]; #else //register to receive notifications UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound; [[UIApplication sharedApplication] registerForRemoteNotificationTypes:myTypes]; #endif |
接着:
添加如下函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#ifdef __IPHONE_8_0 - ( void )application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings { //register to receive notifications [application registerForRemoteNotifications]; } - ( void )application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:( void (^)())completionHandler { //handle the actions if ([identifier isEqualToString:@ "declineAction" ]){ } else if ([identifier isEqualToString:@ "answerAction" ]){ } } #endif |
然后你会在如下方法中获得deviceToken
1
|
- ( void )application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken |
如果该函数没有响应, 使用如下函数并NSLog error
1
|
-( void )application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error |