时间:2021-05-20
iOS10正式版发布之后,网上各种适配XCode8以及iOS10的文章满天飞。但对于iOS10适配远程推送的文章却不多。iOS10对于推送的修改还是非常大的,新增了UserNotifications Framework,今天就结合自己的项目,说一说实际适配的情况。
一、Capabilities中打开Push Notifications 开关
在XCode7中这里的开关不打卡,推送也是可以正常使用的,但是在XCode8中,这里的开关必须要打开,不然会报错:
Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的授权字符串" UserInfo={NSLocalizedDescription=未找到应用程序的“aps-environment”的授权字符串}
打开后会生成entitlements文件,在这里可以设置APS Environment
二、推送的注册
首先引入UserNotifications Framework,
import <UserNotifications/UserNotifications.h>
iOS10修改了注册推送的方法,这里我们又要对不同版本分别进行设置了。在application didFinishLaunchingWithOptions方法中修改以前的推送设置(我只实现了iOS8以上的设置)
三、UNUserNotificationCenterDelegate代理实现
在iOS10中处理推送消息需要实现UNUserNotificationCenterDelegate的两个方法:
复制代码 代码如下:- (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler
- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler
其中第一个方法为App在前台的时候收到推送执行的回调方法,第二个为App在后台的时候,点击推送信息,进入App后执行的 回调方法。
以前处理推送,信息是在userInfo参数中,而新方法中表明上看并没有这个参数,其实我们一样可以获取到userInfo,如下:
/// App在前台时候回调- (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler { NSDictionary *userInfo = notification.request.content.userInfo; [self handleRemoteNotificationForcegroundWithUserInfo:userInfo];} /// App在后台时候点击推送调用- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler { NSDictionary *userInfo = response.notification.request.content.userInfo; [self handleRemoteNotificationBackgroundWithUserInfo:userInfo];}完成上面三个步骤的设置,对于iOS10的推送设置基本就适配了。要想自定义Notification Content或者实现其他NotificationAction请参考其他文章。这里只是做了对iOS10的适配。
本文已被整理到了《iOS推送教程》,欢迎大家学习阅读。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
IOS10远程推送适配iOS10推送新增了UserNotificationsFramework,使用起来其实很简单。建议看看极光推送的Demo,里面写的更详细。
iOS10系统的设备开始推送了iOS10的正式版系统。iOS版微信也同步更新适配了全新的iOS10系统。那么ios10微信显示名字怎么办?ios10微信显示人名
今日凌晨,苹果正式推送了iOS10正式版系统更新,其中iOS10就新增了一个“轻触打开”,所谓功能,都是有利又有弊的,那么iOS10轻触
今日凌晨,苹果正式向广大苹果设备用户推送了iOS10正式版系统更新,其中iOS10就新增了一个“照片回忆”功能。那么iOS10照片回忆怎
9月14日凌晨苹果推送了iOS10正式版,本次更新带来了众多iOS10新特性,也带来一些问题,那么该不该升级iOS10呢?从功能、安全性方面来看,当然还是最新的