WatchKit应用架构WatchKit应用是运行在AppleWatch上的可执行文件。它包括故事板和渲染屏幕所需的资源文件。WatchKit扩展是在iPhone上运行的可执行文件。包含管理应用程序界面和处理用户交互的逻辑代码。为了程序界面的正常使用,这两部分需要一起运行。用户与应用程序交互的典型步骤如下:用户与WatchKit应用程序交互。WatchKit应用程序分析交互并选择要管理的故事板。WatchKit与iPhone通信以运行WatchKit扩展。WatchKit扩展初始化并创建WatchKit应用故事板需要使用的对象。Storyboard根据WatchKit扩展创建的对象生成场景,并显示在AppleWatch上。WatchKit应用程序和WatchKit会共享一些信息,直到用户停止使用WatchKit应用程序。此时,iOS将休眠WatchKit扩展,直到有新的用户交互。下图演示了这个过程:上图中一个重要的概念是storyboard如何响应用户操作,配置要显示的屏幕内容。这要归功于界面控制器对象(WKInterfaceController的实例),它相当于iOS中的视图控制器。与视图控制器不同,界面控制器不管理屏幕上的实际视图。WatchKit以透明的方式处理视图。通常,一个WatchKit应用程序会有多个接口控制器来显示不同的数据类型,但一次只有一个。WatchKit应用程序的生命周期WatchKit应用程序以3种方式启动:用户点击AppleWatch主屏幕上的图标。用户与应用程序的扫视进行交互。用户与通知交互。上述每个方法都将初始化WatchKit应用程序和WatchKit扩展。根据以上不同的启动方式,WatchKit会使用对应的storyboard来加载场景,并请求WatchKit扩展来初始化对应的界面控制器。下图说明了这个过程:如图所示,在用户界面中,界面控制器对象管理着相关的交互。WatchKit扩展在用户与AppleWatch上的应用程序交互时运行。一旦用户停止交互或退出程序,iOS将关闭当前界面控制器并使扩展程序休眠。用户和AppleWatch之间的这种交互非常简单,界面控制器应该是轻量级的并且可以快速执行任务。下图演示了该过程:
