针对iOS10新增Api的详细研究

2020-01-18 14:09:11王振洲

2.如果是视频类App可以使用MPPlayableContentManager (#import <MediaPlayer/MPPlayableContentManager.h>)看了下,新增了一个属性nowPlayingIdentifiers,苹果的意思应该是只要你以前是用这个多媒体类播放音乐的我就可以让你在锁屏页面交互,需要配置在这个数组里。   

3.如果是出行类app可以使用MKDirectionsRequest。 (#import <MapKit/MKDirectionsRequest.h>  )这个类里几乎没有新增api,iOS10就新增了一个枚举,而且看上去就是个默认值。如果要使用此功能,需要配置在info.plist文件里 新增key - value ,MKDirectionsApplicationSupportedModes - MKDirectionsModeRideShare。

User Notifications 用户通知

总体的意思就是支持了很多用户定义的通知,并且可以捕捉到各个通知状态的回调。以往通知的概念是:大家想接收的都提前做好准备,然后一下全量分发,没收到也不管了,也不关心发送者。现在用户通知做成了和网络请求有点像 一个先发request再得到response的流程,甚至封装了error,可以在各个状态的方法中做一些额外操作,并且也能取到一些字段,如发送者等。 

此功能的头文件入口在#import <UserNotifications/UserNotifications.h>

iOS10新功能,iOS10新增Api,iOS10新特性

1.NSString+UserNotifications.h 

有一个方法 localizedUserNotificationStringForKey: arguments: (提供该通知被呈现时的本地化字符串),猜测下面的类有很多initWithIdentifier的,他们的indentifier就是这个。

2.UNError.h

有一个属性UNErrorDomain 和一个枚举 UNErrorCode,顾名思义。 

3.UNNotification.h

里面有两个属性,date日期 和 request,这个request是上面“8”的类型UNNotificationRequest,点进去看了下比较清晰,有identifier标识,content内容,trigger触发条件, 和带上这三个东西的初始化方法。 其中内容 和 触发条件这两个属性,分别是上面“7” 和 “12”的类型,这个下面再谈。 

4.UNNotificationAction.h 

这个类突出的是一个通知的动作,有identifier,title,options(枚举,就是通知当前的权限,允许?拒绝?前台时允许?)属性。然后就是带上这三个东西的初始化方法。 然后比较费解的就是下面有一个子类UNTextInputNotificationAction ,这个子类有两个额外属性, 按钮title,和文本框placeholder, 为什么会是这两个属性? 莫非是点击通知后下拉出的快速回复,有一个输入框和一个按钮。 

5.UNNotificationAttachment.h 

这个里面就是URL(资源url属性),type(附件类型)。 然后是带上这两个属性的初始化方法。 下面声明了几个字符串常量,暂时还不知道具体用在哪里,typeHint,hiddenKey,clippingRectKey,TimeKey。