为什么要在大家都在谈论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,
Intents Framework Reference, Intents UI Framework Reference

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