从另一个手表应用程序打开 Apple Watch 应用程序

Ber*_*ard 0 swift apple-watch watchkit watchos

我正在寻找一种从另一个 Apple Watch 应用程序打开 Apple Watch 应用程序的方法。我找到了 iOS 应用程序的答案。我正在寻找与此答案类似的东西,但适用于 watchOS 而不是 iOS。

我试图复制 watchOS 的 iOS 答案,但没有运气。我使用的代码是:

func openApp() {
    let url = URL(string:"App Name")
    WKExtension.shared().openSystemURL(url!)
}
Run Code Online (Sandbox Code Playgroud)

我希望这会打开应用程序,但是,调用该函数时什么也没发生。

Dáv*_*tor 5

文档的的openSystemURL(_:)方法明确指出,提供给它的URL必须支持tel:sms:方案,只能用于启动一个电话或写邮件。它不能用于打开任何其他应用程序,尤其是 3rd 方应用程序。

watchOSwatchOS 5与 不同iOS,目前不支持 URL 方案(截至),因此您将无法从您的应用程序的 WatchKit 扩展中打开其他应用程序。

  • 不幸的是,从 WatchOS 9 Beta 开始,您的声明仍然有效:您无法使用该方法打开 3rd 方应用程序。然而,文档中远未“明确”表明不支持其他 URL 方案。具体来说,因为您要链接的文档明确引用了 [URL 方案参考](https://developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/Introduction/Introduction.html#//apple_ref/doc/uid/ TP40007899),其中讨论了其他方案。 (2认同)