为已经存在的 iPhone 应用实施 WatchApp,并希望 api 调用在后台模式下对 iPhone 应用进行

Implement WatchApp for already existing iPhone app and want api calls to happen on iPhone app in background mode

我正在为已经存在的 iPhone 应用实施 WatchApp,并希望 api 调用以后台模式在 iPhone 应用上发生。请建议如何去做。 我的 iPhone 代码在 Obj-C 中,希望 Watch 代码在 Swift 中。 对于来自 Watch 的网络查询,应在后台 iPhone 上处理。 这可能吗?如何实现?

您可以在手表应用中拨打WCSession.sendMessage。

当您的 iOS 应用程序可访问时,即使您的应用程序处于后台,也会调用相应的 WCSessionDelegate 回调方法。 (在我的应用程序中运行良好)。

当您的手表应用无法访问时,sendMessage 将被丢弃。当您的 iOS 应用程序回答并且无法将答案传输到手表时,答案将被丢弃。

P.S。 正如 Apple 建议的那样,在您的 AppDelegate 中执行 iOS 实现。如果您这样做,您的应用程序可以在不存在 UIViewController 实例时在后台响应。