我正在尝试让我的电子应用程序的文件图标在Mac上正常工作。
我的package.json有:
"fileAssociations": {
"ext": [ "x" ],
"name": "X",
"description": "An x file",
"icon": "xFile.icns",
"role": "Editor",
"isPackage": false
},
我也在package.json中:
"extend-info": "Info.plist"
包含:
...<plist version="1.0">
<dict>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>sql</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>xFile.icns</string>
<key>CFBundleTypeName</key>
<string>X File</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>X</string>
</array>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>NSDocumentClass</key>
<string>SPDocumentController</string>
</dict>
</array>
<key>CFBundleURLTypes</key>
<array>
</array>
</dict>
</plist>
我打包并将其移至我的Applications文件夹后,检查应用程序的内容,并且Info.plist未使用上述信息进行扩展。
双击以启动.x文件,但没有替换图标。
任何人都可以确认我的.icns文件和.plist文件的路径是否正确吗?它是相对于构建文件夹还是别的什么?
我的文件结构符合指南:
app folder:
> package.json, main.js, etc.
> build
> icons & Info.plist
答案 0 :(得分:0)
我自己遇到了这个问题。首先,你在package.json中的第一个片段与Electron Builder 不是 Electron Packager有关。
因此,如果您打算使用electronic-packager,请确保您的npm运行构建脚本使用它而不是构建器。
以下是我如何修复Electron Packager的图标问题:
在配置电子打包器时,您将指向plist文件,并添加一个条目以将图标文件复制到应用程序的resources文件夹中。
在您的电子包装程序配置中,您需要以下两个条目:
extraResource: "app/icons/document-icon.icns",
extendInfo: "build-files/Info.plist"
然后在你的plist中你可以使用图标名称:
<key>CFBundleTypeIconFile</key>
<string>document-icon.icns</string>
最后,如果您之前已经关联过该文件,则可能需要重新启动Finder才能生效。
希望这有帮助!