如何访问在父 iOS 应用程序的 Watch Extension 应用程序中创建的计时器变量?

How can I access a timer variable created in a Watch Extension app in the parent iOS app?

我在 Swift 中构建了一个 Watchkit 应用程序,其中包含一个计时器(从 25 分钟开始倒计时),我希望能够在 iOS 应用程序中显示该倒计时。

问题是,更新计时器的方法在 Apple Watch 应用程序中,我不知道如何从父 iOS 应用程序访问它。

您可以使用 WKInterfaceController+ openParentApplication:reply: 方法来通知您的 iOS 应用。More info

您需要让您的手表应用程序提醒 iOS 应用程序并通知它计时器还剩多少时间(最好通过发送时间戳 [自纪元] 来完成)。

执行此操作的最简单方法是调用 WKInterfaceControlleropenParentApplication:reply 方法,如 this answer 中所述。

另一种方法是存储该时间戳信息,以便下次打开 iOS 应用程序时,它可以获取该信息。这可以通过制作自定义 NSUserDefaults 来存储数据来完成,如 this answer.

中所述

如果您希望实时更新信息(在手表上进行更改并在 iPhone 上更新,反之亦然),请使用 MMWormhole,一个非常好的开源处理的库将封装处理达尔文通知的麻烦。