【问题标题】:Electron JS Mac OS X Build Failure with Tray icon in .png formatElectron JS Mac OS X 构建失败,带有 .png 格式的托盘图标
【发布时间】:2019-10-21 23:05:08
【问题描述】:

对于初学者来说,我为“普通”(非托盘)应用程序构建的应用程序可以很好地与电子打包器和此命令配合使用

npx electron-packager . --overwrite --plaorm=darwin --arch=x64 --icon=aicons/1024.icns --prune=true --out=release-builds

我最近重构了我的代码,所以现在是一个托盘应用程序

所以我有

  tray = new Tray('icons/elektro.png')
  tray.setToolTip('elektro')

这适用于 npm start 但是当我使用 electron-packager 构建 .app 时出现此错误:

Uncaught Exception:
TypeError: Error processing argument at index 0, conversion failure from icons/elektro.png
    at App.<anonymous> (/Users/gurugeek/elektro/release-builds/elektro-darwin-x64/elektro.app/Contents/Resources/app/main.js:48:10)
    at App.emit (events.js:205:15)

我认为问题与用于托盘图标的 .png 有关。如果我将其更改为 .icns 格式,它将不再适用于 npm start。知道如何解决这个问题吗?

我正在使用电子 6

【问题讨论】:

    标签: electron electron-packager


    【解决方案1】:

    好的,问题与路径有关。这似乎微不足道,但 .app 文件在大多数情况下都会死掉而没有任何错误。这个问题到处都没有得到很好的记录,所以我把它留在这里给任何发现相同问题的人:

      const path = require('path');
      var iconPath = path.join(__dirname, '/icons/elektro.png') // your png tray icon
      let trayIcon = nativeImage.createFromPath(iconPath);
      // if needed resize to 16x16 but mac also accepted the 24 icon
      // trayIcon = trayIcon.resize({
      //    width: 16,
      //    height: 16
      //  });
    
      tray = new Tray(trayIcon)
    

    【讨论】:

      猜你喜欢
      • 2014-02-04
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      • 2021-08-12
      • 2018-04-21
      • 1970-01-01
      • 2015-10-28
      • 1970-01-01
      相关资源
      最近更新 更多