WatchKit 应用程序架构
WatchKit 应用程序是一个运行在 Apple Watch 中的可执行文件。它包括 storyboard 和渲染屏幕时所需的资源文件。
WatchKit 扩展则是运行在 iPhone 上的可执行文件。包括管理应用程序界面的逻辑代码,以及处理用户的交互操作。
为了程序界面的正常使用,这两部分需要一起运行。用户与应用程序交互的典型步骤如下:
用户与 WatchKit 应用程序交互。
WatchKit 应用程序分析交互情况,并选择将被管理的 storyboard。
WatchKit 与 iPhone 通讯,以运行 WatchKit 扩展。
WatchKit 扩展初始化并创建需要提供给 WatchKit 应用程序 storyboard 使用的对象。
Storyboard 根据 WatchKit 扩展创建的对象,生成 scene,并将其显示到 Apple Watch 中。
WatchKit 应用程序和 WatchKit 将会共享一些信息,直到用户停止使用 WatchKit 应用程序。此时,iOS 将使 WatchKit 扩展休眠,直到有新的用户交互。
下面的这个图演示了这个流程:
与 view controller 不同的是 interface controller 不管理屏幕中实际的 view,WatchKit 以透明的方式对 view 进行处理。一般,一个 WatchKit 应用程序会有多个 interface controller,用来显示不同的数据类型,只不过同时只显示一个罢了。
WatchKit 应用程序的生命周期
一个 WatchKit 应用程序的启动方式有 3 种:
用户点击 Apple Watch 主屏幕上的图标。
用户与应用程序的 glance 交互。
用户与通知交互。
上面的每种方式都将初始化 WatchKit 应用程序和 WatchKit 扩展。根据上面不同的启动方式,WatchKit 会利用相应的 storyboard 加载 scene,并请求 WatchKit 扩展初始化相应的 interface controller。
下面的图演示了相关过程:
下面的图演示了相关过程: