IOS10 远程推送适配

iOS10推送新增了UserNotifications Framework,使用起来其实很简单。
建议看看极光推送的Demo,里面写的更详细。
只是在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,导入头文件
#ifdef NSFoundationVersionNumber_iOS_9_x_Max #import <UserNotifications/UserNotifications.h> #endif
2,注册通知
- (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_9){//iOS8-iOS9
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;
//消息处理
if([request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {
//判断为远程推送
}else {
// 判断为本地通知
}
}
4,对于本地通知没有什么变化依然会回调
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# IOS10
# 远程推送适配
# 远程推送适配详解
# 推送适配详细介绍
# iOS10 适配远程推送功能实现代码
# 更新了Xcode8 及 iOS10遇到的问题小结
# iOS10全新推送功能实现代码
# Xcode8以及iOS10适配等常见问题汇总(整理篇)
# iOS10开发和Xcode 8新特性及常见问题解析
# iOS10推送之基础知识(必看篇)
# IOS10 解决权限崩溃问题详解
# iOS10适配之权限Crash问题的完美解决方案
# 110.iOS10新特性适配教程XCode8新特性解析
# 解析iOS10中的极光推送消息的适配
# Xcode8、iOS10升级问题记录
# iOS10 推送最新特性研究
# 回调
# 没有什么
# 这两个
# 希望能
# 谢谢大家
# 在前
# 再走
# 其实很简单
# 头文件
# 只是在
# 新增了
# NSDictionary
# userInfo
# UNUserNotificationCenter
# completionHandler
# UIBackgroundFetchResult
# userNotificationCenter
# fetchCompletionHandler
# didReceiveNotificationResponse
# UNNotificationPresentationOptions
相关文章:
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
h5在线制作网站电脑版下载,h5网页制作软件?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
如何配置FTP站点权限与安全设置?
如何获取开源自助建站系统免费下载链接?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
如何通过虚拟主机空间快速建站?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
建站之星伪静态规则如何设置?
如何选择可靠的免备案建站服务器?
如何构建满足综合性能需求的优质建站方案?
javascript中的try catch异常捕获机制用法分析
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
移民网站制作流程,怎么看加拿大移民官网?
如何选择PHP开源工具快速搭建网站?
高端网站建设与定制开发一站式解决方案 中企动力
建站之星如何防范黑客攻击与数据泄露?
如何在Windows 2008云服务器安全搭建网站?
如何高效配置IIS服务器搭建网站?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
建站之星代理费用多少?最新价格详情介绍
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
建站之星2.7模板:企业网站建设与h5定制设计专题
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
黑客如何通过漏洞一步步攻陷网站服务器?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
c# 在高并发场景下,委托和接口调用的性能对比
如何确保FTP站点访问权限与数据传输安全?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
建站之星如何保障用户数据免受黑客入侵?
建站之星官网登录失败?如何快速解决?
网站制作免费,什么网站能看正片电影?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
PHP 500报错的快速解决方法
高端云建站费用究竟需要多少预算?
如何在Ubuntu系统下快速搭建WordPress个人网站?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
Android自定义listview布局实现上拉加载下拉刷新功能
广德云建站网站建设方案与建站流程优化指南
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
*请认真填写需求信息,我们会在24小时内与您取得联系。