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
指定的图标。
我在通过两种不同方式为我的 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
指定的图标。