我正在使用位于菜单栏中的atom shell制作一个 mac 应用程序。我想知道我的选择是让它在启动时运行。
- 是否必须由用户手动完成?
- 我是否需要用户的许可才能执行此操作?
- 我将如何使用 node / bash 以编程方式执行此操作?
- 原子壳中是否有现有的东西可以做到这一点?
- 是否有现有的模块可以做到这一点?
我正在使用位于菜单栏中的atom shell制作一个 mac 应用程序。我想知道我的选择是让它在启动时运行。
试一试自动启动模块,它应该可以满足您的需求。要回答您的问题:
Electron 现在提供了一个官方 API,用于将应用程序设置为在 Windows 和 Mac 上自动启动。
https://www.electronjs.org/docs/api/app#appsetloginitemsettingssettings-macos-windows
选项将是让它在启动时运行。
假设您希望为每个用户启动此应用程序,当他们登录时,您可以将应用程序设置为LaunchAgent。
只需创建一个描述工作内容的 plist 文件,然后将 plist 复制到 /Library/LaunchAgents。
plist 将是这样的: -
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ProgramArguments</key>
<array>
<string>My_executable</string>
<string>some_command_line_parameter</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>Label</key>
<string>com.mycompany.myapp</string>
</dict>
</plist>
将My_executable替换为应用程序的完整路径(如果是.app
,则指向my_application.app/Contents/MacOS/my_binary
)并根据需要添加命令行参数。如果 atom_shell 需要启动一个 shell,您可以将其用作要运行的应用程序,并将您的脚本用作命令行参数。
还要确保将标签设置为唯一的 URI。
您还可以在 atom 的侧 /applications/Atom.app/Content/resources 目录中创建一个应用程序目录,并符号链接到您的文件。这将在启动时启动您的应用程序。