推送

//推送

if([applicationrespondsToSelector:@selector(isRegisteredForRemoteNotifications)])

{

//iOS8

//创建UIUserNotificationSettings,并设置消息的显示类类型

UIUserNotificationSettings*notiSettings = [UIUserNotificationSettingssettingsForTypes:(UIUserNotificationTypeBadge|UIUserNotificationTypeAlert|UIRemoteNotificationTypeSound)categories:nil];

[[UIApplicationsharedApplication]registerUserNotificationSettings:notiSettings];

}else{// ios7

[applicationregisterForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeSound|UIRemoteNotificationTypeAlert)];

}

上面的是​判断iOS系统版本  iOS7及iOS8+不一样

//注册成功后获取deviceToken

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken

{

NSString*deviceTempToken = [[[[deviceTokendescription]stringByReplacingOccurrencesOfString:@"<"withString:@""]stringByReplacingOccurrencesOfString:@">"withString:@""]

stringByReplacingOccurrencesOfString:@" "withString:@""];

//保存deviceToken

[[NSUserDefaultsstandardUserDefaults]setValue:deviceTempTokenforKey:@"deviceToken"];

}

//获取用户选择的推送类型,并且需要手动调用获取token的方法

- (void)application:(UIApplication*)application didRegisterUserNotificationSettings:(UIUserNotificationSettings*)notificationSettings

{

[applicationregisterForRemoteNotifications];

}

//注册获取deviceToken失败

- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error{

NSLog(@"Regist fail%@",error);

}

//获取后台推送内容

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo{

NSLog(@"userInfo == %@",userInfo);

NSString*message = [[userInfoobjectForKey:@"aps"]objectForKey:@"alert"];

UIAlertView*alert = [[UIAlertViewalloc]initWithTitle:@"提示"message:messagedelegate:selfcancelButtonTitle:@"取消"otherButtonTitles:@"确定",nil,nil];

[alertshow];

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容