ios8远程推送

来源:互联网 发布:网络歌手伤感歌曲大全 编辑:程序博客网 时间:2024/06/05 19:16

ios8升级之后,推送通知的注册方式也发生了一些变化。不进行修改会发生iphone6 或者 plus 无法收到通知的问题。

一.初始化

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    //消息推送注册#ifndef CURRENT_VERSION_IOS8    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeSound|UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeBadge];#else    if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) {        UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert categories:nil];        [[UIApplication sharedApplication] registerUserNotificationSettings:settings];    }  else {        UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound;        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:myTypes];    }#endif}

二.推送的一些后续方法

1、

- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings{    [application registerForRemoteNotifications];}

2、

//自定义通知-(void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)())completionHandler{    if ([identifier isEqualToString:@"customAction1"]) {            }    else if ([identifier isEqualToString:@"customAction2"]){        }}


3、收到通知信息之后的操作

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{    //在此处理接收到的消息。}

4、接收通知失败后

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {    NSString *error_str = [NSString stringWithFormat: @"%@", error];    NSLog(@"Failed to get token, error:%@", error_str);}





0 0
原创粉丝点击