图书前言

译  者  序

Apple Watch是苹果公司于2014年9月发布的一款智能手表,有Apple Watch、Apple Watch Sport和Apple Watch Edition三种风格不同的系列。Apple Watch采用蓝宝石屏幕,两个屏幕尺寸,支持电话、语音回短信、连接汽车、天气、航班信息、地图导航、播放音乐、测量心跳、计步等几十种功能,是一款全方位的健康和运动追踪设备。

在2015年的WWDC 2015上,苹果发布了最新的watchOS 2系统,作为本次开发者大会上的重头戏,新版的watchOS操作系统,在个性化界面、交互体验、运动健康功能、新软件以及开发者方面,进行了重大升级。在第一代watchOS的时候,苹果就提供了多种不同的表盘做个性化选择。这同时也激发了用户希望更“个性化”自己表盘的需求,这些个性化的想法都要在watch OS 2.0中实现。

全书共分为三个部分。第Ⅰ部分 “入门”:在详细研究watchOS应用的结构之前,首先从一个快速的示例项目开始,然后简要概述应用可用的一些主要用户界面控件。第Ⅱ部分“创建应用”:在该部分,首先深入了解一下可以使用WatchKit做什么,然后就如何设计和优化应用界面以及如何通过使用快捷视图(Glances)、自定义表盘元素(Complications)和通知(Notification)来吸引用户提供相关的指导。第Ⅲ部分“充分利用平台”:指引你更深入地了解watchOS平台,学习如何使用那些使watchOS成为Apple最引人注目的开发者平台的硬件和软件功能。

本书图文并茂,技术新,实用性强,以大量实例对watchOS做了详细解释,是Apple Watch用户不可缺少的实用参考书籍。本书可作为Apple Watch编程人员的参考手册,适于计算机技术人员使用。

本书由王净、田洪、范园芳翻译,参与翻译的人员还有范桢、胡训强、纪红、晏峰、余佳隽、张洁、赵翊含,在此一并表示感谢。此外,还要感谢我的家人,她们总是无怨无悔地支持我的一切工作,我为有这样的家庭而感到幸福。

译者在翻译过程中,尽量保持原书的特色,并对书中出现的术语和难词难句进行了仔细推敲和研究。但毕竟有少量技术是译者在自己的研究领域中不曾遇到过的,所以疏漏和争议之处在所难免,望广大读者提出宝贵意见。

最后,希望广大读者能多花些时间细细品味这本凝聚作者和译者大量心血的书籍,为将来的职业生涯奠定良好基础。

王 净 

作于广州

前言

对于某些人来说,智能手表只不过是Dick Tracy动画片中手腕上的通信设备,在20世纪80年代孩子的文化记忆中只是清晰地记得Michael Knight通过他的手表与自己的车K.I.T.T.进行通信。对于那些作为电视节目Knight Rider的粉丝而成长起来的许多孩子来说,能够看到传送到手腕上的信息,能够与一台智能汽车通话以及能够控制电烫仍然是未来生活的象征。

我们梦想的手表

Apple公司一直致力于智能手表的开发,最近它宣布所研发的手表可以对声音命令进行响应,可以运行应用以及通过Mac和iOS开发者社区研发的iPhone设备与Internet进行通信。该声明不但标志着另一股应用淘金热潮的到来,而且还满足了前面那些孩子的想象力,对于他们来说,手表是控制数字生活的最好设备。

虽然iPhone的出现是革命性的,但它仍然只是一部手机,很久以来我们就一直在使用手机(当然,这要取决于你的年龄)。同样,iPad虽然改变了个人计算机的外观,但它仍然只是一台计算机,当我们还是小孩时就用过比iPad更小的计算机。

Apple Watch却不同。如果想要与自己的手表进行通话,只需使用Apple Watch即可,而不需要再使用其他设备。长久以来,我们都梦想着能够通过点击手表来响应相关的命令,渴望将关键信息直接发送到我们的手腕上。

梦想照进现实——Apple Watch

作为开发人员,可能已经习惯了使用iOS完成相应的工作。第一代iPhone并没有对开发人员开放(至少没有正式开放),但随着2008年iPhoneOS 2.0的发布,Apple允许第三方开发人员创建可充分利用设备全部硬件的完全成熟的应用。

watchOS在很多方面也遵循了相同的模式:watchOS的首次发布(当时甚至不叫watchOS)仅提供了一个受限的功能子集。手表上只能运行iOS应用扩展(该扩展在处理级别以及交互范围方面都进行了严格限制),而无法运行完整的应用。

watchOS 2则是开发人员一直在等待的发布版本。现在,不仅可以访问直接在手表上运行的本地应用,还可以访问软件API以及硬件功能。

本书内容

本书将重点介绍如何快速地创建和设计watchOS应用。引导完成创建应用的过程并演示如何使用故事板(storyboards)显示Apple Watch的界面并与之进行交互。深入研究如何在Apple Watch和iPhone之间进行通信以及如何使用快捷视图(Glances)向用户显示信息的快速摘要。

本书并不是介绍iOS或Cocoa Touch编程的书籍,而是为那些想要了解watchOS中可用功能的现有开发人员编写的。此外,还会使用Apple最新的Swift编程语言来演示大部分代码。大多数情况下,可以非常清楚地了解代码所完成的功能,并且可以在必要时使用Objectire-C重新实现相同的功能。如果你对Swift编程语言还不太了解,可以将Swift Translation Guide for Objectire-C Developers(也由Peachpit出版)一书作为有用的参考书。

如何使用本书

如果想要编写和分发watchOS应用,则需要在iOS开发方面具备坚实的基础。本书假设你已经具备iOS开发的中级知识,并且在Apple Developer Center中配置过iOS设备。

本书的组织结构

本书共分为三个主要部分:

第Ⅰ部分 :“入门”

在详细研究watchOS应用的结构之前,首先从一个快速的示例项目开始,然后简述一下应用可用的一些主要用户界面控件。

第Ⅱ部分:“创建应用”

该部分首先深入讲述WatchKit的作用,然后就如何设计和优化应用界面以及如何通过使用快捷视图(Glances)、自定义表盘元素(Complications)和通知(Notification)来吸引用户提供相关指导。

第Ⅲ部分:“充分利用平台”

在第Ⅲ部分,将更深入地了解watchOS平台,学习如何使用那些使watchOS成为Apple最引人注目的开发者平台的软硬件功能。

示例代码

许多章节都提供了可以跟随完成的简单示例项目,从而更好地理解所讲授的知识。此外,本书的源代码库还被发布到本书所附带提供的GitHub账户(github.com/bwa-book)。每个包含示例项目的章节都拥有一个对应的库,并努力做到提交到库中的内容与书中的内容保持一致。另外,也可访问www.tupwk.com.cn/downpage,输入本书中文书名或ISBN下载源代码。

文本格式

示例代码使用下面所示的格式进行标记:

@IBAction func saySomething() {

messageLabel.setText("Hello Wrist!")

}

突出显示的代码主要用来标识代码片段中所做的更改,或者提醒对特定代码部分加以注意:

@IBAction func buttonTapped() {

spinnerImage.startAnimating()

}

软件版本

书中的所有代码示例都在watchOS 2.0和iOS 9.0上进行了测试。为了完成本书中的示例,应该确保至少使用Xcode 7.0。对于那些可能与watchOS的未来版本不兼容之处,我们将尽量在网站(http://watchosapps.build)上发布相关的更正。

欢迎来到watchOS世界

自2007年iOS推出以来,Apple的watchOS可能是最令人兴奋的新操作系统。该系统为用户引入了与应用交互的新方式,并且提供了新的改进方法来提供最新信息。

● 快捷视图:向用户显示目前关键的信息,而用户所需要知道的内容摘要则一带而过。

 

● 自定义表盘元素:直接在主表盘上显示小块信息。此外,自定义表盘元素还提供了一种快速启动应用的方法。

 

● 通知:通过使用一种推送通知服务,可以直接将最新的数据发送给用户。接收到信息之后,用户只需动一下手腕就可以看到这些数据。

 

● 硬件集成:新的API允许与手表的硬件功能进行交互,比如加速度计、心率传感器以及 Taptic 反馈引擎。