iOS10推送通知适配
来源:互联网 发布:软件招标评分标准 编辑:程序博客网 时间:2024/06/05 07:32
iOS10推送新增了UserNotifications Framework,使用起来其实很简单。
只是在iOS10以上系统上点击通知栏,回调方法不再走原来的这两个方法
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {}- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {}
而是在前台的时候回调
- (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler
从后台进入的时候回调
- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler
直接说怎么用吧:
1,导入头文件
#import <UserNotifications/UserNotifications.h>
2,注册通知
#define IOS8 ([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0 && [[UIDevice currentDevice].systemVersion doubleValue] < 9.0)#define IOS8_10 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0 && [[UIDevice currentDevice].systemVersion doubleValue] < 10.0)#define IOS10 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法中
if (IOS10) { UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; center.delegate = self; [center requestAuthorizationWithOptions:(UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert) completionHandler:^(BOOL granted, NSError * _Nullable error) { if (!error) { NSLog(@"succeeded!"); } }]; } else if (IOS8_10){//iOS8-iOS10 UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound) categories:nil]; [application registerUserNotificationSettings:settings]; [application registerForRemoteNotifications]; } else {//iOS8以下 [application registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound]; }
3,回调方法中,获取通知数据(前台类似不做说明)
- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler { NSDictionary *userInfo = response.notification.request.content.userInfo; //消息处理}
4,对于本地通知没有什么变化依然会回调
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
转:http://www.cnblogs.com/Zsmile/p/5889933.html
0 0
- iOS10推送通知适配
- iOS10推送通知适配
- iOS10推送 本地通知
- iOS10 推送通知整理
- 极光推送适配iOS10
- iOS10 远程推送适配
- iOS10推送通知进阶(Notification Extension)
- IOS10 Notification推送通知(一)
- iOS10里的通知与推送
- IOS10 Notification推送通知(二)
- IOS10 Notification远程推送通知(三)
- iOS10里的通知与推送
- iOS10适配之推送的坑
- 项目中友盟推送适配iOS10
- iOS10适配推送中的报错
- iOS10适配之通知(UserNotification)
- iOS10适配之通知(UserNotification)
- iOS10中的极光推送消息的适配
- 基于OpenCV实现二值图细化,骨骼化并求出端点和交叉点
- #掉过的坑#之JS
- Python之动态加载
- FastJSON、Gson和Jackson性能对比
- 三维声场(虚拟3D音频)学习总结(1):基本概念
- iOS10推送通知适配
- Another app is currently holding the yum lock; waiting for it to exit...
- 如何识别牛逼的前端工程师
- C语言面试题1
- LeetCode #108 - Convert Sorted Array to Binary Search Tree -Medium
- 新手报道,多多学习
- 18. 4Sum
- 回溯法——装载问题
- 如何用matlab和R语言画K线图