您的位置:首页 > 移动开发 > IOS开发

IOS8下的本地通知(需要先注册再使用)

2015-08-07 13:59 381 查看
以前做远程推送通知,知道远程推送通知在IOS8下有新的变化

变化如下:(关于远程推送,大家可以去下载我的资源----> <<IOS远侧推送手册>> 以及在不同环境下的测试资源,充分为大家考虑。在这里就不再赘述了!)

//注册远程推送通知

if ([[[UIDevice
currentDevice]systemVersion]floatValue]>=8.0) {

//ios8下注册远程推送通知

[[UIApplication
sharedApplication]registerForRemoteNotifications];

UIUserNotificationType types =
UIUserNotificationTypeBadge|UIUserNotificationTypeSound ;

UIUserNotificationSettings * setting = [UIUserNotificationSettings
settingsForTypes:types
categories:nil];

[[UIApplication
sharedApplication] registerUserNotificationSettings:setting];

}else{

//ios8以前的版本环境下注册远程推送通知

[[UIApplication
sharedApplication] registerForRemoteNotificationTypes:
UIRemoteNotificationTypeBadge|UIUserNotificationTypeSound];

}

NSDictionary *remoteNotifiInfo = [launchOptions
objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];

//Accept push notification when app is not open

if (remoteNotifiInfo) {
[self
application:application
didReceiveRemoteNotification:remoteNotifiInfo];
}

今天在项目中加入了本地通知,代码没有问题,但是就是无法触发通知。查看了苹果的官方文档,总结起来就一句话:在IOS8下,要想使用通知就必须先注册再使用!
本地通知的使用相对简单,这里就直接给大家上注册本地通知的代码:

在View did load 方法中加入以下代码

if ([UIApplication
instancesRespondToSelector:@selector(registerUserNotificationSettings:)])

{

[[UIApplication
sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings
settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound
categories:nil]];

}

注:本人上传的关于远程推送的资源很齐备,里面详细讲述了IOS远程推送通知的细节和可能出现的错误,以及解决方案,面面俱到,关键是全部免费!希望能帮到大家。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: