如何避免在macOS上启动我的Electron应用程序时显示Dock图标?
创建时,可以设置如何避免在macOS上启动我的Electron应用程序时显示Dock图标?,electron,Electron,创建时,可以设置skipTaskbar:true,以防止它出现在Windows任务栏中。但这不适用于macOS上的Dock 对于macOS,我们有app.dock.hide(),但它并不完全相同:它只在您的电子应用程序启动后隐藏图标。即使您在主进程中首先调用app.dock.hide(),dock图标也会短暂出现然后消失,这是我想要避免的。(我希望我的应用程序只出现在菜单栏中,类似于Dropbox等应用程序。) 在进一步挖掘之后,我在electron builder项目上找到了答案,这表明可以通
skipTaskbar:true
,以防止它出现在Windows任务栏中。但这不适用于macOS上的Dock
对于macOS,我们有app.dock.hide()
,但它并不完全相同:它只在您的电子应用程序启动后隐藏图标。即使您在主进程中首先调用app.dock.hide()
,dock图标也会短暂出现然后消失,这是我想要避免的。(我希望我的应用程序只出现在菜单栏中,类似于Dropbox等应用程序。)
在进一步挖掘之后,我在electron builder项目上找到了答案,这表明可以通过在捆绑应用程序发行版中包含的Info.plist
文件中设置“LSUIElement”:1
来解决问题。苹果公司表示,这种设置确实会使该应用程序作为“代理应用程序”运行,这似乎正是我想要的
是否有任何方法可以在开发中提供此
Info.plist
设置,例如从源代码运行我的应用程序时作为electron
CLI的启动参数?或者,真的只有通过捆绑一个完整版本并添加一个Info.plist
文件才能做到这一点吗?您可以使用package.json
中的build.mac.extendInfo
属性为Info.plist
添加额外的设置
下面是在package.json
中将LSUIElement
添加到Mac的构建设置的示例
"build": {
"mac": {
// ... other settings
"extendInfo": {
"LSUIElement": true
}
}
// ... other settings
}