如何以编程方式从 iOS 应用打开 Apple Watch 配套应用

How to programmatically open Apple Watch companion app from iOS app

我想给用户一个提示,我的 iOS 应用程序支持 Apple Watch。

所以我想从我的 iOS 应用程序中 link/open Apple Watch 配套应用程序,非常类似于使用 ([[UIApplication sharedApplication] openURL: [NSURL URLWithString:UIApplicationOpenSettingsURLString]];) [=12= 打开设置应用程序]

这将使用户能够直接导航到 Watch 配套应用,以便为手表设置我的应用。

我找不到任何 URL 可以打开一般或特定于配套应用程序部分的配套应用程序。

如果不支持直接链接,我也对这个用例的替代方法感兴趣。

提前致谢!

编辑: 我检查了模拟器中的 WatchKitSettings Info.plist 文件,看它是否注册了任何 URL 模式,但它没有。

我想无法从 iOS 以编程方式启动手表配套应用。相反的方法是可能的:在收到来自手表的消息后在后台启动 iOS 应用程序。请参阅 WWDC 谈话 Introducing Watch Connectivity

您可以检查 WCSession.defaultSession().watchAppInstalled 并要求用户启动应用程序(如果为真)。

以前,无法从 iPhone 应用程序启动 WatchKit 应用程序,但可以使用 openParentApplication 方法启动 iPhone 应用程序 - 只能在后台启动.

但是,从 WatchOS 2 开始,任何一个应用程序现在都无法启动另一个应用程序。取而代之的是,有一些新的方法可以在将来启动其他应用程序时对更改进行排队。

您的用例的一个部分解决方案可能是显示本地通知,点击该通知可以打开手表应用程序。这种方法的主要缺陷是我不相信有一种方法可以将此通知仅限于手表,因此它也会出现在 iPhone 上,如果点击它会带来 iPhone 应用程序到前台。如果这样实现会很乱,因此我认为不值得,即使它可以通过应用商店审查。