问题标签 [launch-services]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
326 浏览

java - 从 JavaFX 应用程序在 macOS 11 Big Sur 上打开应用程序随机失败并出现 kLSNoExecutableErr

我们有一个桌面 JavaFX 应用程序(嗯,TornadoFX),它下载一个存档,从中提取另一个应用程序并使用 macOSopen命令启动这个应用程序。简化的 kotlin 代码如下所示:

这已经在旧版本的 macOS(10.15 和更早版本)上运行了多年,但现在随着 macOS 11 Big Sur 启动应用程序有时会成功,有时会失败。

在 mac Console.app 中可以看到以下错误:

OSStatus _LSCopyApplicationNodeFromOpenState(LSOpenState *):返回 kLSNoExecutableErr 因为节点是一个目录,但我们未能注册并出现错误 -10814

我们扩展了逻辑以在启动应用程序之前检查所有文件是否确实存在,并且文件存在。

假设 Launch Services 数据库更新速度不够快。

以下尝试记录可能发生的事情的方法没有发现任何错误:

lsappinfo 永远听 +all

日志流 --debug --predicate 'subsystem == "com.apple.coreservices.launchservices"'

是否有人知道是否有办法避免这种行为并始终能够启动应用程序?

0 投票
0 回答
47 浏览

swift - 如何使用命令在 macOS 上删除自定义 URI 方案

electron我通过and开发和构建我的应用程序electron-builder

我安装了SwiftDefaultApps显示哪个应用程序是默认应用程序。

在我的代码中

这将使开发环境中的开发应用程序作为默认应用程序启动,这就是我想要的。

但是当我停止电子服务器时,该方案仍然存在。

所以正确的应用程序不会通过 url 方案启动。

如果我运行这个命令

它可以正常工作。

我知道这个命令会做很多工作,但我只想删除额外的方案。

我已经运行命令

它不工作。

那么有没有更好的方法来做到这一点?