iOS10 技术调研,包括:SiriKit
、 iCloud Drive
、 差分隐私
等等…
SiriKit
资讯
- 1、用户向自己的联系人发送微信、支付宝转账等,目前Siri直接支持的应用有:微信、WhatsApp、Uber、滴滴、Skype等。
- 2、Siri将会更加智能:基于用户的地点、日历、联系人、联系地址等,Siri会做出智能建议。
- 例如:使用者在与朋友传短信,当对方问道使用者身在何方时,Siri 就会提供 GPS 位置的回复建议。
在你的应用里面添加SiriKit,可以实现下面功能 :
- Audio or video calling (播放音视频)
- Messaging (发消息)
- Payments (支付)
- Searching photos (搜索照片)
- Workouts (管理健身)
- Ride booking (预定交通工具)
开发者使用SiriKit需要创建extension、增加Info.plist K-V
- extension to support SiriKit.: language and other (界面展示)
- Info.plist : IntentsSupported(required) 、IntentsRestrictedWhileLocked(optional) (配置)
使用Siri需要App用户授权: Requesting Siri Authorization in Your iOS App
- Include the NSSiriUsageDescription key in your app’s Info.plist file。 (配置)
- Call the requestSiriAuthorization: class method of INPreferences at some point during your app’s execution。 (执行方法)
Siri给开发者提供的功能
- Custom Interface Display : Ride booking、Messages、Payments、Fitness (创建一个展示界面)
- 1、创建 UI Extension 和 添加Info.plist K-V: NSExtensionAttributes、NSExtensionMainStoryboard、NSExtensionPointIdentifier
- 2、在对应的代码里执行configureWithInteraction:context:completion:方法。
- Custom vocabulary:(提供一个词汇文件给siri使用)
- 代码注册词汇表INVocabulary、创建词汇文件共siri搜索AppIntentVocabulary.plist
- ride booking service (交通工具预定服务)
- INRequestRideIntent -> protocolINRequestRideIntentHandling -> INRequestRideIntentResponse。 请求 -> 回调 -> 处理
iCloud Drive
一、功能概述
iCloud Drive
是Apple旗下的一种数据同步云服务,可以在 iCloud 上安全储存所有演示文稿、电子表格、PDF 文件、图片和任何其他格式的文件,然后在 iPhone、iPad、iPod touch、Mac 或 PC 上进行访问。而 iOS 9 中内置的全新 iCloud Drive app,让你能更轻松地在 iOS 设备上取用文档,因为只需从主屏幕一处就能访问你存储在 iCloud 上的任何内容。
二、特性
在支持iCloud的应用中,可以共享文件,这意味着,你可以跨多个 app,打开和处理同一个文件。你可以通过 iOS 9 内置的全新 iCloud Drive app,按日期、名称或你在 Mac 上添加的标签轻松搜索和浏览文件。找到所需的文件后,可在任何兼容的 app 中打开文件进行编辑。
例如,你可以使用素描 app 来绘制图片,然后使用绘图 app 打开,为它上色。或者在一款 app 中创建一个图表,然后使用演示文稿 app 将它添加到幻灯片内。你再也不需要将文档从一个 app 复制或导入到另一个 app。
三、管理站点
iCloud Drive是一种与服务,Apple专门为此提供了一个文件管理的Dashboard,https://www.icloud.com/,可以在此管理所共享的所有文件。
四、对我们的用处
目前看来,iCloud Drive对我们来说并没有太大的用处。
- iCloud Drive只是一种云同步服务,真是提供数据存储的额是iCloud;
- iCloud对其中的所存储的文件,在用户没有共享的前提下,仅仅是本应用下可访问。
差分隐私
1、Security and Privacy Enhancements—安全性和隐私性的提高
- 1 在info.plist文件中的新key NSAllowsArbitraryLoadsInWebContent 给用户提供了一个新的方式即在允许任意的网页加载的同时保持对后台的app的ATS保护。
- 2 Seckey API包括了对非对称密钥生成的提高。用Seckey API 替代了弃用的CDSA的API。
- 3 该RC4对称加密组件现在对于所有的 SSL/TLS 的接口默认禁用,并且安全传输API中将不再支持SSLv3。苹果官方建议尽快停止使用 SHA-1 和3DES 这两种加密算法。
- 4 该UIPasteboard类支持剪贴板功能,该功能允许用户在设备之间的复制粘贴,包括API你可以用它来限制一个剪贴板到特定设备并设置一个过期的时间戳标记在此之后剪贴板被清除。此外,名为pasteboards的剪贴板不再存在了,同时“Find”剪贴板(即由UIPasteboardNameFind常量确定剪贴板)也不再可用,取而代之的是你应该使用共享的容器。
- 5 你必须通过在你的Info.plist文件中的相应目的字符串key静态声明你的应用程序的受保护数据类。例如,您必须包括NSCalendarsUsageDescription key进入用户的日历数据。如果不包括相关的目的字符串键,您的应用程序会在试图访问相关数据时退出。
2、Security —安全
2.1 Making Secure Connections —创建安全连接
- 1 ATS ATS建立了通过使用Apple平台进行安全的网络交互、采用传输层安全(TLS)1.2版的安全的网络通讯、前向安全性和强加密的最佳做法策略。
- 2 安全传输的API
在当前版本的SSL、TLS、DTLS加密协议基础上使用Apple的安全传输API去实现网络通信。 - 3 支持算法
随着iOS10和OS X v10.12的RC4加密算法默认禁用,Apple建议升级服务器的时候使用SHA-2加密函数签名的证书。 - 4 证书透明度和证书信任的API 对于你的网络通信仅强加密是不够的,为了确保应用连接的是正确的服务器,采用Apple的证书信任的API和证书透明度。
2.2 Protecting User Data —保护用户数据
Apple平台为保护用户数据提供了一系列新特性。
- 1 Purpose Strings—目的字符串 目的字符串需要你静态声明你的应用访问的敏感信息和资源,在声明了这些信息的key时,才可以访问这些数据。比如:NSCameraUsageDescription、NSLocationAlwaysUsageDescription、NSPhotoLibraryUsageDescription。
- 2 复制粘贴敏感信息(利用UIPasteboard)
- 3 钥匙串和iCloud钥匙串:为用户的敏感数据如证书、密码、等提供了一个安全的仓库。
2.3 Excuting Code Securely —安全开发
Apple平台用安全的编码方式保护用户的数据。比如你通过mac上的App Store发布针对不同系统的app时,Xcode会为其提供代码签名证书。
- 1 开发者账号。
- 2 加密签名。
2.4 Cryptographic interfaces —加密接口
- 1 为非对称加密使用的SecKey API (导入Security/SecKey.h )。
- 2 为支持smart card 的CrptoTokenKit。
- 3 对称密钥的一般加密。
2.5 Security Fundamentals and Resource —Apple平台上的安全资源
在Apple平台上它自身就提供了一些关于后台、支持、个别信息的安全的服务,比如需要证书。
二 3DTouch新增的功能
1 插件功能异常强大,使用3D Touch打开之后,可以进行播放视频等操作。
2 全新控制中心更加简洁,提供独立的音乐播放面板,负一屏幕提供可定制化的插件功能,同样支持3D Touch交互。
3 现在锁屏下的通知信息展示更加丰富,另外通过3D Touch,你还可以直接展开更丰富内容。
4 home应用提供场景化功能,也可以在锁屏状态下使用3D Touch呼出面板,快速调整智能家居设备。