首页 > 解决方案 > 在登录时启动非沙盒化 Swift 应用程序——最佳实践

问题描述

我开发了一个不能被沙盒化的 Mac 状态菜单应用程序,因为它创建了一个虚拟驱动器;它与 Finder 右键菜单扩展一起安装,该扩展确实符合沙盒规则。此时(手动安装后)右键单击会在登录时顺利启动,但应用程序不会。

在最新版本的 MacOS 中,以前将应用程序添加到登录项的方法(涉及 LSSharedFile)已被弃用。从那时起,我发现的示例涉及 SMLoginItemSetEnabled 或启动代理(例如Swift 4 中的 MenuApp 以在登录时为 High Sierra 运行?)似乎都涉及沙盒。在 OS X 10.11+ 上登录时运行非沙盒应用程序是否有最佳实践——无论是在代码中还是在安装时?

如上所述,我正在考虑使用启动代理;即使没有沙盒,所有这些步骤都可以在安装时以管理员权限完成吗?如果是这样,我还需要做什么来自动卸载?

标签: swiftmacos

解决方案


推荐阅读