Apple Watch: WatchKit 应用程序要点

Apple Watch: WatchKit 应用程序要点

本文译自:Apple Watch: WatchKit App Essentials

WatchKit 应用程序架构

上一篇文章简单介绍了 WatchKit,在开发 Apple Watch 应用程序时由两部分构成:WatchKit 应用程序和 WatchKit 扩展。

  • WatchKit 应用程序是一个运行在 Apple Watch 中的可执行文件。它包括 storyboard 和渲染屏幕时所需的资源文件。
  • WatchKit 扩展则是运行在 iPhone 上的可执行文件。包括管理应用程序界面的逻辑代码,以及处理用户的交互操作。

为了程序界面的正常使用,这两部分需要一起运行。用户与应用程序交互的典型步骤如下:

  1. 用户与 WatchKit 应用程序交互。
  2. WatchKit 应用程序分析交互情况,并选择将被管理的 storyboard。
  3. WatchKit 与 iPhone 通讯,以运行 WatchKit 扩展。
  4. WatchKit 扩展初始化并创建需要提供给 WatchKit 应用程序 storyboard 使用的对象。
  5. Storyboard 根据 WatchKit 扩展创建的对象,生成 scene,并将其显示到 Apple Watch 中。
  6. WatchKit 应用程序和 WatchKit 将会共享一些信息,直到用户停止使用 WatchKit 应用程序。此时,iOS 将使 WatchKit 扩展休眠,直到有新的用户交互。

下面的这个图演示了这个流程:

上图中有个重要的概念就是 storyboard 响应用户的操作并配置需要显示的屏幕内容的方法。这归功于 interface controller对象 (WKInterfaceController的实例),相当于 iOS 中的 view controller。

与 view controller 不同的是 interface controller 不管理屏幕中实际的 view,WatchKit 以透明的方式对 view 进行处理。一般,一个 WatchKit 应用程序会有多个 interface controller,用来显示不同的数据类型,只不过同时只显示一个罢了。

WatchKit 应用程序的生命周期

一个 WatchKit 应用程序的启动方式有 3 种:

  • 用户点击 Apple Watch 主屏幕上的图标。
  • 用户与应用程序的 glance 交互。
  • 用户与通知交互。

上面的每种方式都将初始化 WatchKit 应用程序和 WatchKit 扩展。根据上面不同的启动方式,WatchKit 会利用相应的 storyboard 加载 scene,并请求 WatchKit 扩展初始化相应的 interface controller。

下面的图演示了相关过程:

如图所示,在用户界面中,interface controller 对象管理着相关交互。当用户与 Apple Watch 上的应用程序交互时,WatchKit 扩展会运行。一旦用户停止交互或者从程序中退出,iOS 将关闭当前的 interface controller,并休眠扩展。在用户和 Apple Watch 之间,这样的交互方式非常简洁,interface controller 应该是轻量级的,并且快速的执行任务。

下面的图演示了相关过程:

时间: 2024-12-20 17:19:01

Apple Watch: WatchKit 应用程序要点的相关文章

Delphi开发单机瘦数据库程序要点(后缀cds)

一.概述 Delphi作为Windows下的一种快速开发工具,不仅能开发一般的Windows应用程序,而且还具有强大的数据库应用程序开发功能.Delphi本身提供了对BDE,ODBC,ADO和InterBase几种数据库驱动的支持,能够满足不同应用对数据库程序开发的需要. 然而,在发布用Delphi开发的数据库程序时,除了要安装应用程序之外,还需要同时发布数据库驱动程序.这对于一些只涉及单个或多个简单表数据存储的单机应用程序来说,就显得有点头重脚轻的感觉了.况且,有些应用程序本身需要存储大量数据

如何在Mac上安装Apple Watch屏幕保护程序

Apple Watch Screensaver for mac是一款将mac休眠状态时的屏保换成AppleWatch表盘风格的软件,如果你不喜欢系统原生的屏保样式可以试试这款软件,看起来还是挺不错的. WATCH Screensaver for Mac(时钟屏幕保护软件) https://www.macdown.com/mac/2252.html 来MacDown下载WATCH Screensaver for Mac版镜像包下载完成双击打开,双击镜像包内的[WATCH Screensaver.s

托盘程序要点汇总

1.重启一个进程 var ss = "taskkill /im " + 进程名称 + " /f ";  RunCmd(ss); ProcessStartInfo info = new ProcessStartInfo(); info.FileName =进程路径; var pro = Process.Start(info); pro.WaitForExit(); 2.停止一个进程 var ss = "taskkill /im " + 进程名称 +

微信小程序源码下载(200多个)

微信小程序源码下载汇总,点击标题进入对应的微信小程序下载页面. 最新 demo源码(点击标题进入帖子下载) 描述 1 微信小程序 会议室预定小程序 微信小程序 会议室预定小程序**** 本内容被作者隐藏 **** 2 微信小程序-双人五子棋小游戏 微信小程序-双人五子棋小游戏**** 本内容被作者隐藏 **** 3 打卡签到小程序 用微信小程序实现的一个简单的打卡签到的小程序拒绝 4 微信小程序---左滑删除 微信小程序---左滑删除**** 本内容被作者隐藏 **** 5 一个借钱的记事本的微

苹果WatchKit轻松入门

背景 前段时间苹果Apple推出 WatchKit,用于开发Apple Watch应用,同时也推出了 Xcode6.2 Beta(非稳定版,好期待稳定版)版本用于开发 Watch App.Apple Watch是苹果在智能穿戴领域的一个尝试,对于苹果和开发者都非常具有挑战.学会开发 WatchApp 将大幅度提高自己的竞争能力. 内容提要: 1.初识WatchKit 2.安装Xcode 6.2 Beta 3.iOS工程添加WatchKit支持 4.WatchKit项目结构和UI控件 5.主界面

为Apple Watch而战-----(初级篇)

重要 本文档是开发过程中使用的API或者技术的初步文档.苹果提供该文档以便于开发者使用苹果产品上使用技术和编程接口.后期该文档中信息会有所变动,所以依据本文档开发的软件应当使用最终的操作系统软件进行测试.该文档的新版本会进一步提供API或者技术的测试版. Apple Watch为用户提供了一个私人的且不唐突的方式来访问信息.用户瞥一眼Apple Watch就可以获得许多重要的消息,而不用从口袋中掏出他们的iPhone.Apple Watch专用应用程序应尽可能地以最直接的方式提供最最相关的信息来

再过几个月Apple Watch就要正式发布了

本文由cocoaChina译者小组成员@TurtleFromMars 翻译自Appcoda,原作者:julian engel,原文:WatchKit Introduction: Building a Simple Guess Game编 者注:再过几个月Apple Watch就要正式发布了.如你所知,Apple已在Xcode 6.2 beta上附带了WatchKit SDK,让开发者为Apple Watch创建应用.您或许已经开始尝试用WatchKit开发App,如果还没起手,本篇入门教程就是为

【转】使用 Swift 开发WatchKit入门教程

开始学习 WatchKit! 更新于2015年1月19日:经过了Xcode 6.2 Beta版的测试; 没有项目/代码更改需要. 记住要使用苹果最新的测试版! iOS开发者欢欣鼓舞 - WatchKit终于来了! WatchKit是苹果伴随着的Xcode 6.2测试版发布的.用于创建Apple Watch应用程序的新框架和相关技术的开发包. 在这个WatchKit教程中,您将使用 Swift 创建第一个WatchKit应用程序. 具体来说,您将开发一个比特币价格跟踪应用程序,同时创建一个与之一同

可执行程序的入口点在那里?(强化概念:程序真正的入口是mainCRTstartup)

今天终于有时间来研究一下一个很大很大的工程编译成一个exe和若干dll后,程序是如果执行它的第一条指令的?操作系统以什么规则来找到应该执行的第一条指令(或说如何找到第一个入口函数的)? 我们以前写windows程序时,都是先写个main()函数,然后再写自己的逻辑:然后编译,然后点击exe就能运行我们的程序了:如果我们用VS2005工具生成一个非空工程,工程会为我们提供一个int _tmain(int argc, _TCHAR* argv[])或WinMain()函数的入口,然后我们在里面添加程