WatchKit:与包含 iOS 的应用程序直接通信

WatchKit: direct communication with the containing iOS app

我刚开始使用 WatchKit,我正在尝试这样做(如果我没记错的话,可以这样做):我希望 WatchKit 扩展到要求包含的应用程序向 Web 服务请求一些数据,然后 return 服务响应扩展以相应地更新 WatchKit 应用程序界面。

正如我在 Apple Watch Programming Guide 中所读到的,您可以调用 WatchKit 扩展中的 openParentApplication:reply: 方法向其包含的应用程序请求某些内容,然后调用 application:handleWatchKitExtensionRequest:reply: 方法在包含应用程序的 AppDelegate 中应该被调用。一旦调用此方法,我需要执行服务请求,等待其响应,然后将其发送回扩展。

但是,当我运行模拟器中的WatchKit App scheme时,调用了openParentApplication:reply:方法,但是没有到达application:handleWatchKitExtensionRequest:reply:内的断点。所以我什至无法测试我是否可以正确执行 Web 服务请求并获得其响应。

我可能遗漏了什么?我是否应该以某种方式配置模式以在包含应用程序中达到断点?是否需要为此声明某种后台功能?

提前致谢

我刚刚回答了一个非常相似的问题 ,您可以从 Watch Extension 打开 iOS 应用程序并获得回复。

为了在 运行 Watch Extension 的同时调试 iOS 应用程序,您应该按照 here 中解释的步骤进行操作。