ios开发:watchkit的应用程序要点

author author     2023-04-15     769

关键词:

参考技术A   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
扩展休眠,直到有新的用户交互。
  下面的这个图演示了这个流程:
  上图中有个重要的概念就是
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
应该是轻量级的,并且快速的执行任务。
  下面的图演示了相关过程:

watchkit 应用程序的企业配置?

】watchkit应用程序的企业配置?【英文标题】:Enterpriseprovisioningforwatchkitapp?【发布时间】:2015-05-2121:09:56【问题描述】:我的公司正在使用企业分发配置文件来签署我们的iOS应用,以便轻松分发给内部和外部测试人员。在本地和... 查看详情

在 WatchKit 应用未运行时从 iOS 应用设置 WatchKit 应用的值

...用WCSession的updateApplicationContext方法,但它只在我的WatchKit应用程序运行时有效。我需要将货币汇率从i 查看详情

如何下载 WatchKit? [关闭]

】如何下载WatchKit?[关闭]【英文标题】:HowcanyoudownloadWatchKit?[closed]【发布时间】:2014-11-0405:30:30【问题描述】:有谁知道iOS开发者何时可以下载WatchKit?Xcode6是否会包含一个模拟器以允许在Mac上创建/测试AppleWatch应用?【问题讨... 查看详情

从 iOS 打开 WatchKit 应用程序

】从iOS打开WatchKit应用程序【英文标题】:OpenWatchKitapplicationfromiOS【发布时间】:2015-05-2606:21:45【问题描述】:我想直接从我的iPhone将WatchKit应用程序打开到前台(或Glance,如果可能的话)。我一直在玩它,但没有成功。也许有... 查看详情

如何在 WatchKit 应用中获取当前位置?

】如何在WatchKit应用中获取当前位置?【英文标题】:HowtogetthecurrentlocationinaWatchKitapp?【发布时间】:2015-07-2205:29:38【问题描述】:如果我没记错的话,AppWatch不能自己获取位置,需要向iPhone请求,所以当前位置在iOS端的WatchKit扩... 查看详情

WatchKit 扩展:如何从主机 iOS 应用程序读取数据?

】WatchKit扩展:如何从主机iOS应用程序读取数据?【英文标题】:WatchKitextension:howtoreaddatafromhostiOSapp?【发布时间】:2015-08-2119:33:11【问题描述】:问题背景:宿主iOS应用以10fps的帧速率动态生成UIImage,我只想从WatchKit扩展中检索U... 查看详情

WatchKit 核心数据同步

...:2015-01-0603:20:39【问题描述】:我有一个应用结构如下iOS应用程序将数据写入核心数据,核心数据具有存储在共享应用程序组中的持久存储。WatchKit扩展能够从CoreData中读取由iOS应用编写的数据。我遇到的问题是,如果我的iOS应... 查看详情

Swift 4 刚添加 WatchKit 并不能注册到你的开发团队

...布时间】:2019-01-0420:23:09【问题描述】:我刚刚将WatchKit应用程序添加到我的iOSSwift4应用程序中,然后我尝试运行它并收到此错误:无法注册应用ID“MyApp.watchkitapp.watch 查看详情

使用 WatchKit 2 的 iOS 应用程序中的 WCSession 停止应用程序构建

】使用WatchKit2的iOS应用程序中的WCSession停止应用程序构建【英文标题】:WCSessioniniOSAppusingWatchKit2StopsAppBuilding【发布时间】:2015-08-1819:27:45【问题描述】:我正在尝试使用iOS9中的新WCSession设置我的Watch应用和我的iPhone应用之间的... 查看详情

Apple Watch:一个 Watchkit App 可以与多个 iOS App 通信吗?

...5-06-2519:09:27【问题描述】:我想编写一个可以与多个iPhone应用程序通信的Watchkit应用程序。例如,我们将这个Watchkit应用程序称为“PingPong”。它所做的只是设置一个 查看详情

xCode 排除用于提交的 watchkit 扩展

...:2015-03-1017:33:57【问题描述】:我使用watchkit编写了一个应用程序,并想在Apple发布iOS8.2后提交它。不幸的是,我在***上了解到,目前还不允许提交使用watchkit的应用程序...我确实认为我的应用作为独立的iPhone应用也很不错,并且... 查看详情

WatchKit App 仅返回一些 HealthKit 数据

...itData【发布时间】:2015-09-2314:20:37【问题描述】:我的IOS应用程序和WatchKit应用程序(Xcode7GM)中都运行了以下方法。IOS应用程序返回我所有的跑步锻炼,但是Watchkit应用程序只返回前2次跑步锻炼。有什么想法吗?funcreadRunningWorkO 查看详情

如何创建基于页面的 WatchKit 应用程序?

】如何创建基于页面的WatchKit应用程序?【英文标题】:HowtocreateapagebasedWatchKitapp?【发布时间】:2015-03-0822:39:29【问题描述】:我正在尝试创建一个基于页面的WatchKit应用。当应用程序加载时,我希望在分页视图中有一个带有图... 查看详情

提交 WatchKit 配置错误

...题描述】:目前我尝试使用Xcode6.2向商店提交新应用这个应用程序包括一个WatchKit扩展。一切正常,但在提交/验证时我总是遇到一个错误。在iTunesConnect中,我使用BundleID等创建了一个应用程序另外,如果检查我的开发人员门户,... 查看详情

WatchKit 中的本地通知

...法做到这一点。在iOS中我会这样做:但是无法从Watch共享应用程序....UILocalNotification*notification= 查看详情

WatchKit 上的延迟警报?

...:24:43【问题描述】:我正在为AppleWatch开发一个Swift计时器应用程序。理想情况下,当计时器用完时,它将播放微妙的触觉。问题是,当手表屏幕进入睡眠状态且我的应用位于顶部时,我的应用不再被允许触发触觉。在对此进行研... 查看详情

WatchKit 的社交框架

】WatchKit的社交框架【英文标题】:SocialFrameworkforWatchKit【发布时间】:2015-04-0209:05:46【问题描述】:我想创建一个AppleWatch应用,让用户可以直接从手腕上分享内容。AppleWatch是否有与iOS上的社交框架相媲美的内置社交框架?【问... 查看详情

Apple Watch、WatchKit 和 NSUserDefaults [重复]

...11-2305:20:05【问题描述】:我想既然“WatchApp”是同一个iOS应用程序中的一个捆绑包,我应该能够在我的AppleWatch应用程序中访问NSUserDefaults。不是这样吗?我似乎无法从我的iOS获取NS 查看详情