为什么要在大家都在谈论Swift3的时候谈论ObjC? 因为Swift3还是太**(误)。
iOS10变更
根据这里iOS 9.3 to iOS 10.0 API Differences现在的文档表明,现有接口并没有什么大改变,是不可能的。根据苹果的尿性,怎么可能不大改接口呢。嗯,由于实在改的太多,不可能写完,那么就只罗列一下增加的几个主要的新特性吧。
- SiriKit
- Proactive Suggestions 主动推荐
- Messages
- User Notifications
- Speech Recognition 语音转换文字
- 更广的色域
- 自定义True Tone(就是那种黄黄的夜间模式)
- CallKit
- App插件
那就一个一个说。
SiriKit
这次开放Siri接口估计是没多少人真正的把Siri用起来,苹果官方想增加Siri的适用面,加上的开发者接口。
按照官方的说法,Intents Framework 就是专门拿来做Siri识别响应的接口,而响应过后, Intents UI Framework就是通过系统唤起的界面使用App里功能的API了。
当然,苹果还提到了使用Siri和Map都可以达到上述效果,而且接口是通用的,也就是说实现了某个行为的响应之后,不管是Siri还是Map,只要系统识别到了是要你来干这个,那么就会调用你。
可以响应的行为:
- 音频视频电话
- 信息
- 接收或发出支付请求(这么吊?)
- 搜索图片
- 预定行程(滴滴和Uber的了)
- 健身管理
文档传送门:SiriKit Programming Guide,
Proactive Suggestions 主动推荐
这玩意儿其实就是加强版的SiriKit逻辑的东西,也就是像演示里面地图上出现大众点评的那样的推荐。
官方的说法是在地图,Siri,CarPlay,QuickType上会出现推荐,并且媒体播放类的还能出现在锁屏界面上,真是666。
Messages
其实就是两点,一点是你可以自己开发iMassage的表情了,还有就是开发发送到iMassage的媒体块。
当然,对于表情包来说。。为什么不去开发微信的。。毕竟Massage在国内没什么生态圈,也就是拿来收垃圾短信用。。。。而另一点更甚。。
当然,既然有,那还是放上去吧。
而且苹果都说了要建立个MessageStore专门装这些附加媒体app,想来还是有点搞头。
文档传送门:Messages Framework Reference, App Extension Programming Guide
User Notifications
好可惜的是。。貌似API还没出来,找不到UserNotifications.framework的文档呢,只能按照官方的来猜了。
基本上就是Notification类似Push的那种,带有了时间啊地点什么的特殊属性,以便于在收到通知后进行处理。而还包含的UI组件应该是对特殊类型通知的响应View,也就是官方给你个框,在里面自定义想要的东西。(苹果居心叵测想要什么都嵌入到系统里面啊简直)
语音转换文字
Speech.framework这玩意儿也没上线,但是官方贴了一段代码(注意是Swift)
let recognizer = SFSpeechRecognizer()
let request = SFSpeechURLRecognitionRequest(url: audioFileURL)
recognizer?.recognitionTask(with: request, resultHandler: { (result, error) in
print (result?.bestTranscription.formattedString)
})
说白了也就是能在你的App里面实现把语音转换为文字的技术,就不需要自己造轮子啦,不需要自己造轮子啦,造轮子啦。
Speech ----- intent ----- Action ----- Response
\ /\ | / |
\ / \ | / |
\ / \ | / |
Vocabulary App Logic User Interface