iOS 10 Developer Beta 1

WWDC 2016上,Apple公司发布了iOS 10,带来了一些新的特性,并同步升级了开发工具(XCode 8, 含iOS 10 SDK)和 Swift 3。目前,作为开发者可以下载到XCode8-beta版本提前尝试开发和适配iOS 10的新特性。

iOS 10 SDK 包含了新的API和服务,可以开发新的App类型和新的功能。App能够去扩展Message、Siri、Phone、Maps,来提供更加吸引人的功能。

比如iOS 10可以通过Extension去识别来电,这样可以实现识别和屏蔽骚扰电话了,可以想象,iOS10正式推出时,各大助手类App、通讯录类App都将第一时间跟进该功能。

安装 iOS10 Developer Beta 1 版本

直接下载对应版本的安装包,然后通过iTunes安装会报错,ERROR(14)。在手机上安装配置文件(此处下载),然后通过OTA的方式升级。

Siri Kit

iOS 10 正式对App开放了Siri的服务,App可以通过创建新的Intents Extension Intents UI Extension,为Siri提供几种特定范围的服务。Siri识别用户发出的指令,交给注册的Extension去执行,最后生成返回页面。iOS 10支持的服务范围如下:

  • Audio or video calling
  • Messaging
  • Sending or receiving payments
  • Searching photos
  • Booking a ride
  • Managing workouts

Proactive Suggestions

相比iOS 9,对这部分的功能进行了提升。在App内记录用户的一些行为特征,那么系统在一些场景下会向用户推荐App里面的内容。比如输入文字时QuickType建议,Maps内的一些推荐,Siri交互时的一些推荐,等等。

Integrating with the Messages App

iOS 10对iMessages进行很大的扩展,允许用户通过Sticker Pack Extension扩展表情包,还能通过Messages Extension自定义的页面来提供文字、图片、多媒体文件甚至交互式的消息。

User Notifications

iOS 10封装了独立的UserNotifications.frameworkUserNotificationsUI.framework来处理本地和远程的通知。提供了Notification Content Extension Notification Service Extension自定义通知的显示UI。

Speech Recognition

通过Speech.framework来识别语音并转换为文字。

Wide Color

Core Graphics, Core Image, Metal, and AVFoundation等提供sRGB支持,UIColor会默认使用sRGB色彩空间。

Adapting to the True Tone Display

可以配置App来适应True Tone Display。

App Search Enhancements

对iOS 9 引入的 CoreSpotlight framework增强的功能。

Widget Enhancements

iOS 10支持了锁屏页面的Widget显示,这里增强了显示效果以适应不同的背景。

Apple Pay Enhancements

iOS 10增强了JS版本的Apple Pay支持,Mac的网页上发起支付也可以在iPhone或者AppleWatch上响应;并提供了一个新的测试环境来绑定银行卡和完成支付。

Security and Privacy Enhancements

增加了很多安全和隐私方面的限制,对App而言,需要在plist显式的注册App所用到的权限,包括摄像头
联系人访问、日历访问等等,如果没有在plist注册相关的权限,App在运行中去尝试申请用户授权时会直接出现异常。具体可以查看参考资料#4

备注:这个应该是使用iOS 10 SDK必须要做的适配。

CallKit

App可以集成VOIP的服务到iPhone UI。并且可以通过Call Directory Extension来实现来电识别和屏蔽的功能。

News Publisher Enhancements

News Publisher的增强。

Video Subscriber Account

提供一个视频订阅的账号框架,用于自动认证。

App Extensions

iOS 10新增多个Extension类型,在前面具体涉及到的地方都有提到,在XCode 8创建新的Target时可以选择。

  • Call Directory Extension
  • Intents Extension
  • Intents UI Extension
  • Messages Extension
  • Notification Content Extension
  • Notification Service Extension
  • Sticker Pack Extension

Additional Framework Changes & Deprecated APIs

涉及到很多API的变更,新的类、枚举、方法,也有标记失效的API。比较多,详情请查看参考资料#1

总结

重要的兼容性适配工作

  1. iOS 10 加强了安全和隐私的策略,App需要在plist中显式的注册所需要用到的访问权限(摄像头的访问
    照片的访问等),否则运行在iOS10上面是会出现异常而导致功能无法正常使用;
  • 如果有用到Deprecated APIs,需要做一些修改;
  • 如果有使用Swift代码,随XCode 8一起发布的Swift 3并不能兼容Swift2.x代码,XCode本身提供了自动的代码转换功能,可能也会需要手动调整。

需要重点关注的新特性

  1. iOS 10 支持定制化Notification的显示UI,可以极大的丰富本地通知和推送通知的展示方式;
  2. iOS 10 提供了App对Siri指令的响应扩展,可以通过Siri为用户提供App内部的内容,并可以定制展示的UI;
  3. iOS 10 提供了App对iMessage的扩展,可以让我们实现在iMessage聊天,发送定制化的消息;提供无缝的体验,不用切换App;
  4. Apple Pay的增强,可以加强支付体验;
  5. Proactive Suggestions的增强,App内部记录用户的一些行为提供给iOS系统,提高用户使用手机的其他功能时的体验,让用户觉得iOS更加智能的同时,也提升对App的好感。

参考资料