作者:王蓓菲

网易杭州研究院-总监办公室

iOS 8 为开发者提供了大量的API和服务,这里介绍其中一些比较有意思的服务,包括了Touch ID,HandOff,HomeKit和HealthKit。


Touch ID

Touch ID是苹果在2013年在iPhone 5s 和iOS 7中推出的一个指纹密码功能,用户通过将手指放在home键上根据指纹解锁屏幕。但是这个功能只供苹果自己使用。随着iOS 8的推出,苹果公开了这部分的API,给开发者带来了更多的便利。


谁在用Touch ID

iOS 8一发布,就有不少应用已经采用了这一功能。比如密码管理类的app,如图1所示的1password,又如购物支付类的软件amazon,如图2所示。

图1


 图2


Keychain

Touch ID的工作原理很简单,就是基于Keychain来工作的。Keychain说的简单点就是一个加密的数据库,用户将各种重要的信息存储在Keychain中,而Keychain又通过用户的passcode和设备UDID加密。图3是Touch ID的工作流程图。

图3


安全性

上文中已经提到Keychain是通过设备UDID和passcode共同加密,因此一旦Keychain离开了原有设备(比如恢复到其他设备)或者拥有设备却不知道passcode都不能解锁,安全性是相当高的。


HandOff

Handoff的中文意思是切换,也就是说在不同的设备间工作时可以无缝切换。比如,当你在iPhone上邮件回复了一半,无需任何多余操作,可以在Mac和iPad上继续回复;当你在iPad上的网页浏览一半,也可立即切换到Mac或者iPhone上在刚才浏览过的地方继续,就好像没有切换过设备一样。

到现在为止,Handoff已经在以下应用中被采用了邮件,Safari,Pages,Numbers,Keynote,地图,消息,提醒,日历,联系人。


BLE+iCloud

是不是很赞,那这是怎么实现的呢?其实就是采用了蓝牙技术结合了Apple ID账号。如图4,当苹果设备在允许范围内,两台具有相同Apple ID会自动进行配对链接并进行信息的传输。

图 4 设备间的信息同步

其中有两点是比较重要的。

1. 相同的Apple ID保证了你正在进行的工作不会同步到别人的设备上。

2. 范围的限定保证了在一定范围之外信息不会被同步。比如当你在公司的Mac上写邮件时,邮件不会同步到你家里的iPad上,被别人看到,保证了隐私。


安全和隐私

不同于微软的 "Windows Everywhere" 或者Google的 "everything in the cloud",令人放心的是,由于使用的是蓝牙传输,Handoff 不会把任何东西存储在服务器上。


HealthKit

Health是iOS 8新推出的一个内置应用。图5给出了Health,HealthKit与其他健康应用之间的关系。

图 5

由图可知,HealthKit为各种健康应用提供了数据交换,并提供了更专业的健康数据的计算,让这些数据能更好地为用户服务。而Health应用通过HealthKit搜集了各类健康数据,同时它自己也可以直接从各种外设搜集数据,并将这些数据以各种形式显示,以此帮助用户更好地了解自己的健康状况。


HomeKit

Homekit是iOS 8带来的智能家居的功能,实现随时随地对家居产品进行控制。对于普通开发者,苹果提供了相应的接口,图6给出了通过应用和Home之间的关系。

图 6

由图可见,所有的家居信息存储在一个通用数据库中,这个数据库各种家居信息,Home,就是最基本的家。家可以有多个,在操作时通过名字指定。家中包含又包含了多个Room,房间。房间中又包含了多个Accessories,也就是最关键的受控制的家居设备,比如灯泡、电视机等。这些设备的各种功能又被称作为Services。而所有的应用只要通过HomeManager就可以对家居进行操控了。

推荐阅读

猛戳阅读原文

项望烽:iOS App开发的那些事儿

网易云信∣真正稳定的IM云服务

ID:neteaseim  长按识别,关注精彩

iOS 8那些有意思的API和服务相关推荐

  1. 美团技术:百亿规模API网关服务Shepherd的设计与实现

    在微服务架构下,服务拆分会让API的规模成倍增长,使用API网关来管理API逐渐成为一种趋势.美团统一API网关服务Shepherd就是在这种背景下应运而生,适用于美团业务且完全自研,用于替换传统的W ...

  2. 百亿规模API网关服务Shepherd的设计与实现

    在微服务架构下,服务拆分会让API的规模成倍增长,使用API网关来管理API逐渐成为一种趋势.美团统一API网关服务Shepherd就是在这种背景下应运而生,适用于美团业务且完全自研,用于替换传统的W ...

  3. Spring Cloud应用开发(五:API网关服务)

    1.使用Zuul构建API网关服务: 注:本服务涉及到3个工程,起作用分别如下: ms-spring-eureka-server工程:服务注册中心,端口为8761. ms-spring-eureka- ...

  4. 如何使用Azure API管理服务?

    对打通云应用之间的通信而言,API至关重要,正确管理这些API也非常关键.让我们从学习Azure的API服务来开始这一进程. 在云和微服务架构时代,API是数字化业务的通用语言.根据分析公司Forre ...

  5. AppsFlyer将API网关服务从Clojure迁移到Golang

    本文要点 AppsFlyer每天处理超过700亿个HTTP请求,并且是使用微服务架构风格构建.系统的入口点是一个被称为API网关的关键任务(非微型)服务,它封装了所有前端服务. 原先的API网关使用了 ...

  6. 使用Express开发小说API接口服务1.0(二)

    使用Express开发小说API接口服务1.0(二) 线上访问地址api.langpz.com/ 之前完成了首页和搜索的接口,现在就开始写剩下的接口. 获取小说源 因为追书神器正版源是收费加密的,所以 ...

  7. spring cloud 入门系列六:使用Zuul 实现API网关服务

    通过前面几次的分享,我们了解了微服务架构的几个核心设施,通过这些组件我们可以搭建简单的微服务架构系统.比如通过Spring Cloud Eureka搭建高可用的服务注册中心并实现服务的注册和发现: 通 ...

  8. 保护REST API / Web服务的最佳实践[关闭]

    在设计REST API或服务时,是否存在处理安全性(身份验证,授权,身份管理)的最佳实践? 构建SOAP API时,您需要使用WS-Security作为指南,并且有很多关于该主题的文献. 我发现有关保 ...

  9. places365_Google Places API网络服务示例

    places365 Google Places API can be used to find nearby places. In this tutorial, we'll be developing ...

最新文章

  1. Mac OS X 下Node.js开发环境的搭建
  2. 《千只鹤》--[日]川端康成
  3. Linux云服务器上python画图并保存
  4. Apple Music 会员免费领啦!
  5. 字符集与编码(九)——GB2312,GBK,GB18030
  6. SQL2008数据库的备份与还原
  7. php调试代码时var_dump( )打印中文字符时出现乱码解决方案
  8. 四格漫画《MUXing》——请客记
  9. 痛心,京东程序员删库跑路获刑!
  10. 计算机软件工程课程设计感想,软件课程设计心得体会.docx
  11. Linux系统下,redis集群的搭建
  12. 兄弟机cnc系统面板图解_兄弟机操作面板及编程
  13. Unity项目 - 捡苹果 Apple Picker
  14. Mac微信怎么多开? 2招教会你
  15. sourcetree 回滚提交
  16. IDF实验室-伟人的名字
  17. layui框架实战案例(6):上传图片和视频自动调用IOS或安卓系统的摄像头功能
  18. Latex符号、公式
  19. VSCode 显示 GB2312 编码格式的中文乱码
  20. 利用Floodlight进行DDOS攻击防御实验笔记

热门文章

  1. android—资源文件(res)的引用
  2. bestcoder Delete
  3. java验证码识别--2
  4. 数据结构的一些命名英文全称
  5. 测试用例的书写方式及测试模板大全
  6. 日志库EasyLogging++学习系列(6)—— 日志记录器
  7. python横坐标如何显示为月份_如何显示给定两个日期之间的所有月份?
  8. rpc进程Linux,linux RPC 测试(转载)
  9. 云服务器上安装jboss_jboss的使用和安装
  10. 机器学习小技巧:模型训练完成后发送邮件