2017-12-12 22 views
0

私の電子アプリのファイルアイコンがMacで正しく動作するようにしようとしています。電子アプリファイルの関連付け - カスタムアイコンが表示されない

"fileAssociations": { 
    "ext": [ "x" ], 
    "name": "X", 
    "description": "An x file", 
    "icon": "xFile.icns", 
    "role": "Editor", 
    "isPackage": false 
}, 

そして私はまた、package.jsonにあります:

私の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.plisの内容を確認します上記の情報では延長されませんでした。

.xファイルをダブルクリックしても動作しますが、アイコンの代わりはありません。

.icnsファイルと.plistファイルのパスが正しいかどうかは誰でも確認できますか?それはビルドフォルダや他の何かに関連していますか?

私のファイル構造は、ガイドラインに従って次のとおりです。

app folder: 
> package.json, main.js, etc. 
> build 
    > icons & Info.plist 

答えて

0

は、私は自分自身この問題に遭遇しました。まず、package.jsonの最初のスニペットはElectron Builder ではなく、 Electron Packagerです。

電子パッケージャを使用する予定がある場合は、npm実行ビルドスクリプトでビルダーではなく、そのビルドスクリプトが使用されていることを確認してください。ここで

は私が電子Packagerでアイコンの問題を修正する方法である:

あなたはあなたがplistファイルを指すだけでなく、リソースにアイコンファイルをコピーするためのエントリを追加します電子パッケージャのconfig環境アプリのフォルダ。

あなたの電子パッケージャの設定では、これらの2つのエントリが必要です。

extraResource: "app/icons/document-icon.icns", 
extendInfo: "build-files/Info.plist" 

は、その後、あなたのplistであなただけのアイコン名を使用することができます。

<key>CFBundleTypeIconFile</key> 
<string>document-icon.icns</string> 

最後に、あなたは再起動が必要になることがあります以前にファイルを関連付けていた場合は、そのファイルを有効にするためのFinder。

希望すると便利です。

関連する問題