从 UIViewController 调用 WKInterfaceController 的方法

Call WKInterfaceController's method from UIViewController

我有一个 iPhone 应用程序并添加了一个 WatchExtension。现在我设法使用 MMWormhole 向手表发送了一个字符串。为了使用字符串,我必须从 UIViewController 中的方法调用 WKInterfaceController 中的 update(),因此 iPhone 应用程序。
这可能吗?

我尝试做类似 InterfaceController.update() 的事情,但 Xcode 抱怨它不知道变量 InterfaceController

提前致谢:)

iPhoneApp 和 Watch Extension 是两个独立的进程,尽管它们存储在一个包中,因此您不能在运行时调用其他进程的方法。

在 WatchKit 中:

  • 如果您想共享代码,请使用 Framework
  • 如果要共享数据,请使用应用组。
  • 如果要使用通知,请使用进程间通信(在iOS中,是Darwin Notification,MMWormhole使用此功能)。

我想你想让手表在iPhone应用程序做某事时更新它的界面,你可以这样做:

  1. 向 Watch Extension 发送消息。
  2. Watch Extension 收到该消息。
  3. 在消息处理程序中,更新接口。

在我的选择中,iPhoneApp和Watch Extension可以看作是一种C/S架构,iPhoneApp是Server,Watch Extension是Client,也许这个比喻更容易理解。