电子 - 无法显示自定义图标

时间:2017-03-20 00:56:05

标签: node.js icons electron packaging

我遇到了以两种不同的方式为我的Electron应用设置图标的问题:

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

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

打包(使用电子打包器)

我的package.json文件指定'icon'键,指向图标文件,我在 build 目录中有.icns(Mac)文件。我使用了电子打包器来构建应用程序,但未应用图标,而是使用默认的电子图标。

不确定我在这里做错了什么,一切看似正确。

4 个答案:

答案 0 :(得分:4)

如果您是指扩展坞上的图标,则MAC上可以使用:

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

答案 1 :(得分:2)

这里有一个很好的教程:

按照步骤操作,但请确保不要跳过任何内容。

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

此处有更多链接:

答案 2 :(得分:0)

您可以将此脚本添加到package.json,它可以很好地工作。主要是因为路径问题。

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

答案 3 :(得分:0)

如果您在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指定的图标。