Apple 发布 Apple Watch 开发工具

  • Matt McComb
  • 付宇轩

2014 年 12 月 12 日

话题:移动AppleiOS语言 & 开发架构

Apple 在 11 月 18 日发布了 Apple Watch 设备的软件开发工具(SDK)WatchKit。该 SDK 可以让开发者们在 2015 年正式推出 Apple Watch 之前开发 iOS 应用对应的 Apple Watch 版本。

早在 2014 年 6 月的 WWDC 开发者大会上,Apple 亮相了运行着最新推出的 Watch OS 系统的 Apple Watch。在那时,关于 Watch OS 系统的各种细节说明极为有限,但是随着现在 SDK 的发布,Watch OS 系统的各种功能都逐一浮出了水面。

目前已有的应用都可以通过以下三种扩展点与 WatchKit 进行集成:

  • Glances – 为应用提供一种快速预览关键信息的机制。Glances 不像通知,它是基于拉方式的,例如追踪用户查看信息的行为动作而触发显示。
  • 通知 – 和 iOS 系统一样,是以推送信息弹出提示框的方式为用户传达信息。Watch OS 系统将通知机制还进行了细分,分为简讯查看和详细查看两种。简讯查看方式是详细查看方式的简化版。在不方便查看信息的情况下,例如当设备在锁屏状态时,就可以通过简讯通知方式查看信息。
  • Apple Watch应用用户界面 – Apple Watch 应用要依赖于运行在 iPhone 设备上的父应用。父应用中包含 Apple Watch 应用的程序包,并一同安装在手机中。Apple Watch 应用程序包包含了各种资源文件 – 换句话说,就是包含了 storyboard 文件以及与界面关联的各种图片文件。Apple Watch 应用将复杂的操作通过 WatchKit SDK 中的扩展 API 推送给 iPhone 中的父应用进行处理。

虽然开发 Apple Watch 应用的 WatchKit API 与开发 iOS 应用的 SDK 有很多相似的地方,但是仍然有一些与性能相关的限制。所以开发者要将 WatchKit 集成到他们的应用中,需要注意以下几点不同的地方:

  • 界面布局 – Apple Watch 应用的界面不支持 AutoLayout。取而代之的是 Apple 已经介绍过的组(Group)布局方式。类似于 Android 的 LinearLayout 布局方式,可以支持控制水平和垂直方向的堆叠。
  • 自定义手势操作 – Apple 限制开发者只能使用设备默认提供的手势 – 滑动、点击和长按屏幕。
  • 图片限制 – Apple Watch 的应用中只能存储 20MB 的资源文件。Apple 建议开发者将所有的图片文件都存储在 Apple Watch 应用程序包中,以减少从 iPhone 中获取图片的次数,从而降低性能。
  • 原生应用支持 – 开发者必须将他们的 Apple Watch 应用绑定在已有的 iOS 应用中。在 Apple 发布的公告中可得知目前还不支持能够完全独立在 Apple Watch 中运行的原生应用,但是 Apple 也在文中暗示“明年晚些时候”会支持原生应用。

随着 Apple Watch SDK 的发布,Apple 也提供了大量帮助开发者开发 Apple Watch 应用的帮助文档:

  • WatchKit 编程指南 – 提供了使用 WatchKit 开发应用和扩展的项目结构、架构和 API 的概述。
  • 人机交互指南 – 概述了 Apple Watch 支持的用户界面元素和导航流程。
  • WatchKit 开发示例 – 举例说明了 Apple Watch 应用如何使用通知机制和 Glances 机制,还演示了如何使用用户界面控件集合进行控制界面,以及新的组布局系统。

Apple Watch SDK 的发布在 iOS 开发社区中引起了不错的反响。社区中一些知名开发者表示对 Apple Watch 平台提供的功能感到惊讶。David SmithCraig Hockenberry都指出支持自定义应用是该平台的主要特点。

Apple 的 iOS 开发者计划成员可以通过iOS 开发者中心获取 WatchKit SDK。WatchKit SDK 和 iOS 8.2 测试版绑定在一起,同时还包含了 Xcode6.2 测试版。

查看英文原文Apple Releases SDK for Apple Watch


感谢邵思华对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

移动AppleiOS语言 & 开发架构