创建 new BrowserWindow
时,您可以设置 skipTaskbar: true
以防止它出现在 Windows 任务栏中。但这不适用于 macOS 上的 Dock。
对于 macOS,我们有 app.dock.hide()
,但它并不完全相同:它仅在您的 Electron 应用程序启动后隐藏图标。即使您将 app.dock.hide()
作为主进程中的第一件事,Dock 图标也会短暂出现然后消失,这是我想避免的。 (我希望我的应用程序只出现在菜单栏中,类似于 Dropbox 等应用程序。)
经过更多挖掘,我在 Electron 构建器项目中找到了 this issue comment,这表明可以通过在捆绑的应用程序分发中包含的 "LSUIElement": 1
文件中设置 Info.plist
来解决该问题。苹果的 docs for LSUIElement
说这个设置确实会让应用作为“代理应用”运行,这似乎是我想要的。
有没有办法在开发中提供这个 Info.plist
设置,例如从源代码运行我的应用程序时作为 electron
CLI 的启动参数?还是真的只能通过捆绑完整版本并添加 Info.plist
文件来实现?
最佳答案
您可以使用该属性 build.mac.extendInfo
在 package.json
将其他设置添加到 Info.plist
. https://www.electron.build/configuration/mac
以下是添加 LSUIElement
的示例到 package.json
中的 Mac build设置.
"build": {
"mac": {
// ... other settings
"extendInfo": {
"LSUIElement": true
}
}
// ... other settings
}
关于electron - 当我的 Electron 应用程序在 macOS 上启动时,如何避免显示 Dock 图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59668664/