Electron — 无法显示自定义图标

Electron — Can't get custom icon to appear

我在通过两种不同方式为我的 Electron 应用程序设置图标时遇到问题:

非打包(运行 通过终端的应用程序)

我的 main.js 确实指定了一个 'icon' 值,指向图标文件,但它不适用。

已打包(使用 electron-packager)

我的package.json文件指定了'icon'键,指向图标文件,我在build[中有.icns(Mac)文件目录。我使用了electron-packager来构建应用程序,但是没有应用图标,而是使用默认的electron图标。

不确定我做错了什么,一切看起来都是正确的。

这里有一个很好的教程:

按照步骤进行操作,但不要跳过任何内容。

这也是 GitHub 上的一个相关问题:

更多链接在这里:

您可以将此脚本添加到 package.json 并且它工作得很好。主要是路径问题。

"package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/icon.icns --prune=true --out=release-builds",

如果你指的是 Dock 上的图标,在 MAC 上应该使用:

const app = electron.app;
const image = electron.nativeImage.createFromPath(
  app.getAppPath() + "/public/YOUR_APP_IMAGE_NAME"
);
app.dock.setIcon(image);

如果您在 Mac OS 上遇到此问题,可能是图标缓存出了问题。我就是这种情况。我使用以下命令清除它:

sudo rm -rfv /Library/Caches/com.apple.iconservices.store; sudo find /private/var/folders/ \( -name com.apple.dock.iconcache -or -name com.apple.iconservices \) -exec rm -rfv {} \; ; sleep 3;sudo touch /Applications/* ; killall Dock; killall Finder

然后我再次构建应用程序,这次我有我用 electron-packager 指定的图标。