IOS开发:WatchKit的应用程序要点

   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 扩展休眠,直到有新的用户交互。

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

开发: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-08-02 21:38:44

IOS开发:WatchKit的应用程序要点的相关文章

ios开发-关于修改应用程序图标右上角的数字提示问题

问题描述 关于修改应用程序图标右上角的数字提示问题 遇到这错误:Attempting to badge the application icon but haven't received permission from the user to badge the application,请问如何解决 解决方案 if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { [[UIApplication sharedAppl

iOS开发系列--IOS程序开发概览

概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的知识是你日后开发IOS的基础,没有那些知识你开发IOS会很痛苦,现在很多开发人员做开发都是一知半解,程序质量确实令人担忧,所以还是希望大家能够熟练掌握前面的内容,开发过程中多思考,彻底理解程序运行的原理.机制.好了言归正传,不管怎么样正式进入IOS开发还是令人兴奋的,今天的内容虽然说是开发预览,其实

ios开发-程序运行正常,模拟器没有显示

问题描述 程序运行正常,模拟器没有显示 现在在自学ios开发,学到分页栏与选取器这里,程序运行正常,可是模拟器完全空白,想问下这是什么原因?谢谢! 解决方案 你可以把程序的入口控制器,改成你这个BIDatePickerViewController,看代码应该可以显示,可能是storyboard上的View Controller与代码的View Controller不相符所产生的问题

[分享]错误“应用程序Xcode的这个版本不能与此版本的OS X配合使用”以及Mac源码和IOS开发资料分享

[分享]错误"应用程序Xcode的这个版本不能与此版本的OS X配合使用"以及Mac源码和IOS开发资料分享 安装Xcode时,出现"应用程序Xcode的这个版本不能与此版本的OS X配合使用"错误如下: 解决方案是: /system/libary/coreservice/SystemVersion.plist中的两个10.10为10.10.5 修改过程会提示无权限修改,要不要建立副本,点击提示框中的"复制"按钮,存到桌面上. 点击一个文件右

ios-老程序员如何快速掌握iOS开发,请推荐相关图书和在线视频

问题描述 老程序员如何快速掌握iOS开发,请推荐相关图书和在线视频 作为一名对C++十分熟悉的老程序员,如何快速掌握iOS开发, 斯坦福的iOS在线课程很有名http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-fall 还有这套课程 http://www.xcelme.com/courses.php 教师Gary Bennett写过两本iPhone的书for Apress Books: iPhone Cool Pr

ios开发-如何用从服务器获取的时间来对程序中的时间进行同步。

问题描述 如何用从服务器获取的时间来对程序中的时间进行同步. 在IOS开发中,如何用从服务器获取的时间来对程序中的时间进行同步. 解决方案 使程序调用服务器时间调用服务器时间的倒计时程序获取数据库服务器时间

iOS开发入门:如何编译iOS程序

我们从编写到发布应用会经历3个阶段:模拟器上运行调试.设备上运行调试和发布编译,苹果为了防止非法设备和非开发人员调试和发布应用,使用配置概要文件(Provisioning Profiles)控制在设备上运行调试和发布编译阶段,配置概要文件分为两种:开发配置概要文件和发布配置概要文件 1.创建发布配置概要文件 创建过程是先登录iOS开发中心的配置门户网站(iOS Provisioning Portal),通过左边的导航菜单Provisioning进入.选择Distribution标签就是管理发布配

iOS开发那些事-如何编译iOS程序

我们从编写到发布应用会经历3个阶段:模拟器上运行调试.设备上运行调试和发布编译,苹果为了防止非法设备和非开发人员调试和发布应用,使用配置概要文件(Provisioning Profiles)控制在设备上运行调试和发布编译阶段,配置概要文件分为两种:开发配置概要文件和发布配置概要文件 1.创建发布配置概要文件 创建过程是先登录iOS开发中心的配置门户网站(iOS Provisioning Portal),通过左边的导航菜单Provisioning进入.选择Distribution标签就是管理发布配

IOS开发账号申请

iOS开发者的申请流程 如果你是一个开发团队,在你打算掏腰包购买iOS开发者授权之前,最好先问一下你的同事,是否已经有人获得了开发许可,因为一个开发许可一年内最多可以授权给111个设备来开发测试.如果你没有授权许可可以借用,或者你打算最终在iTunes Store中以自己的名义发布你的应用,那么就准备一张国际信用卡,准备支付99美元来申请一个iOS开发者授权. 点击下面链接进入Apple Developer Centerhttp://developer.apple.com/ 点击页面左边中部的i