如何从Safari扩展程序启动Mac OS应用程序?

时间:2018-12-15 15:04:04

标签: macos safari

有人知道新的Safari扩展程序中用于启动MacOS应用程序的以下旧扩展代码块的替代品吗?

AudioFile audioFile = AudioFileIO.read(new File(url));

Tag tag = audioFile.getTag();

Image image = new Image(tag.getFirstArtwork().getImageUrl());

我们目前正在努力从旧版扩展过渡到支持较新的Safari扩展框架。在旧版扩展程序中,我们在global.html文件中使用以下片段代码启动了Mac OS应用程序:

safari.application.activeBrowserWindow.activeTab.url = "{app_url_scheme}://"

似乎新的Safari扩展框架中的可比代码如下:

safari.application.activeBrowserWindow.activeTab.url = "{app_url_scheme}://......."

但是,虽然像“ https://www.cnn.com”这样的标签会很好地打开,但是如果只是“ {app_url_scheme}://”,它将不会执行任何操作。此外,我可以在Safari浏览器中输入“ {app_url_scheme}://”,这样就可以正常启动该应用程序,因此我知道这不是注册问题。

1 个答案:

答案 0 :(得分:0)

对于将来遇到任何麻烦的人来说,启动MacOS应用程序的代码似乎如下:

guard let url = URL(string: "{app_url_scheme}") else {
   return
}

NSWorkspace.shared.open(url)