node.js - 我们的时间追踪器如何绕过 MacOS 辅助功能设置?

标签 node.js macos electron

我创建了一个使用 Electron 捕获时间和鼠标/键盘事件的应用程序。它在 Windows 上运行良好。但是,它在 Mac 操作系统上被阻止(请参阅下面的提示)。

enter image description here

因此,Mac 用户将无法使用我们的应用程序 - 除非他们通过转到设置 > 安全和隐私来启用它。这不是一个良好的用户体验,因为理想情况下,我们希望他们能够在安装后使用我们的应用程序(就像其他应用程序的行为方式一样)

我读到这对于跟踪鼠标和键盘事件的应用程序来说很常见,因为它类似于键盘记录器。澄清一下,我们没有创建键盘记录器,而是创建了像 Hubstaff.com 这样的时间跟踪软件

有没有办法绕过安全和隐私步骤,以便他们可以在安装后立即使用该应用程序?

顺便说一句,我们有一个尚未测试的选项: - 通过 EV 代码签名证书验证应用程序,如 https://www.instantssl.com/extended-validation-code-signing-certificate.html

如果您能帮助我们找到正确的方向,我们将非常高兴。

最佳答案

Is there a way to bypass the securty & privacy step so they can use the app immediately after installing?

没有。使用辅助功能的应用程序会给用户带来安全风险;操作系统将始终要求用户明确批准它们。

您将需要寻找不使用辅助功能的替代方法来收集这些数据。我相信the IOHID HIDIdleTime property可能属于这一类;您可能需要编写一个自定义 Electron 插件才能使用它。

By the way, we have one option that we haven't tested yet: -Get the app verified through the EV code signing certificate…

这行不通。 Apple 仅认可通过 Apple Developer ID 计划颁发的开发者证书。 macOS 不支持由其他 CA(例如 InstantSSL)颁发的代码签名证书 - 使用此类证书签名的应用程序将显示“无法打开,因为它来自身份不明的开发人员”错误,就像未签名一样。

关于node.js - 我们的时间追踪器如何绕过 MacOS 辅助功能设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49769366/

相关文章:

node.js - MEVN Stack 启动后重定向至主页

javascript - Node.js 的 crypto.createSign() 的有效算法输入字符串

macos - 如何在 SwiftUI 生命周期中显示 NSPopover?

python - Jupyter突然挂了怎么办?

electron - 使用外部文件打包 Electron 应用程序

javascript - 允许 electron `requires` 在 Vite 中原封不动地通过

javascript - 访问删除请求 Mongoose 返回的结果

javascript获取系统时区的时间戳而不是UTC

c++ - 在 Mac OS X 上使用 EWS SDK Linux 加载 ecw 文件 -> 错误链接符号

node.js - 在 Nightmare.js 中发送 keydown、keypress 类型