返回首页 WatchKit Development Tips 中文版

与 iPhone 通信

iPhone 上的 app 应该承担大部分工作任务

如果 Apple Watch 上的应用需要执行例如网络访问这样耗时的后台任务,建议你应该使用 iPhone 上的应用来做这样的工作。使用 WKInterfaceController 中的 openParentApplication:reply: 方法来从后台唤醒 iPhone 应用,然后给 WatchKit 返回其需要的数据。处理 WatchKit 请求的 UIApplicationDelegate 方法必须立刻返回。如果需要异步调用,比如执行网络任务,使用后台任务来确保应用在能够响应的时候不会卡顿或延迟。

与 App Groups 共享数据

在 IOS 应用和 WatchKit 应用中与 App Groups 和 NSUserDefaults 可以简单的共享少量数据。为了访问到像 Core Data 这样的其他资源,在 IOS 应用和 WatchKit 应用之间使用一个共享的容器来简单实现数据的访问和提供日期信息。

使用 Handoff

Handoff 可以使得用户很容易地在 Apple Watch 和 iPhone 上的应用间切换。在 WKInterfaceController 中的 Handoff API 应该用于 Glance 和 自定义的通知界面来创建指向 iPhone 中应用的深度链接。使用此 API 来打包界面当前正在做什么的相关信息,并且可以将这些信息传给应用的主界面控制器以至于它可以在 launch 上呈现一个不同的界面。 Learn more about Handoff >

与框架共享代码

创建一个框架在 IOS 和 WatchKit 应用之间来共享代码。框架可以使得你的代码更易理解,防止冗余,并且确保在项目的大量代码中更容易修复bug。