电子应用程序文件关联 - 自定义图标未出现
Electron app file association - Custom icon not appearing
我正在尝试让我的电子应用程序的文件图标在 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>
打包并将其移动到我的应用程序文件夹后,我检查了应用程序的内容,Info.plist 没有使用上面的信息进行扩展。
虽然可以双击启动 .x 文件,但没有图标替换。
任何人都可以确认我的 .icns 文件和 .plist 文件的路径是否正确吗?它是相对于构建文件夹还是其他什么?
我的文件结构符合指南:
app folder:
> package.json, main.js, etc.
> build
> icons & Info.plist
我自己 运行 进入这个问题。首先,package.json 中的第一个片段与 Electron Builder 而非 Electron Packager 有关。
因此,如果您打算使用 electron-packager,请确保您的 npm 运行 构建脚本使用它而不是构建器。
以下是我如何解决 Electron Packager 的图标问题:
在 electron-packager 的配置中,您将指向 plist 文件,并添加一个条目以将图标文件复制到应用程序的资源文件夹中。
在你的 electron-packager 配置中你需要这两个条目:
extraResource: "app/icons/document-icon.icns",
extendInfo: "build-files/Info.plist"
然后在你的 plist 中你可以只使用图标名称:
<key>CFBundleTypeIconFile</key>
<string>document-icon.icns</string>
最后,如果您之前已经关联了文件,您可能需要重新启动 Finder 才能生效。
希望对您有所帮助!
我正在尝试让我的电子应用程序的文件图标在 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>
打包并将其移动到我的应用程序文件夹后,我检查了应用程序的内容,Info.plist 没有使用上面的信息进行扩展。
虽然可以双击启动 .x 文件,但没有图标替换。
任何人都可以确认我的 .icns 文件和 .plist 文件的路径是否正确吗?它是相对于构建文件夹还是其他什么?
我的文件结构符合指南:
app folder:
> package.json, main.js, etc.
> build
> icons & Info.plist
我自己 运行 进入这个问题。首先,package.json 中的第一个片段与 Electron Builder 而非 Electron Packager 有关。
因此,如果您打算使用 electron-packager,请确保您的 npm 运行 构建脚本使用它而不是构建器。
以下是我如何解决 Electron Packager 的图标问题:
在 electron-packager 的配置中,您将指向 plist 文件,并添加一个条目以将图标文件复制到应用程序的资源文件夹中。
在你的 electron-packager 配置中你需要这两个条目:
extraResource: "app/icons/document-icon.icns",
extendInfo: "build-files/Info.plist"
然后在你的 plist 中你可以只使用图标名称:
<key>CFBundleTypeIconFile</key>
<string>document-icon.icns</string>
最后,如果您之前已经关联了文件,您可能需要重新启动 Finder 才能生效。
希望对您有所帮助!