別のアプリケーションのプラグインとして使用される MyBundle.bundle という Mac OSX バンドルをコンパイルします。バンドルに一意のアイコンを付けたいので、Info.plist ファイルを次のように設定します。
<key>CFBundleIconFile</key>
<string>MyIcon.icns</string>
ファイル MyIcon.icns をバンドルの MyBundle.bundle/Contents/Resources フォルダーに配置します。
これは機能しません。ファインダーはバンドルの汎用アイコンを表示し、指定された MyIcon.icns ファイルを無視します。バンドルの拡張子を .bundle から .app に変更すると、アイコンがすぐに表示されるので、Info.plist が正しいことがわかります。
バンドルのアイコンをコピーして貼り付けるユーザーをシミュレートする回避策を見つけました。
アイコンをタイプ「icns」および ID -16455 のリソースとしてバンドルの .rsrc ファイルに追加します。
私は電話するより
/Developer/Tools/SetFile -a BC MyBundle.bundle
これは機能しますが、本当に不自由です。Mac OS 10.8 以降では、SetFile の実行に時間がかかります。
私の質問: そのようなハックなしで Finder にバンドルのアイコンを強制的に表示させる方法はありますか?
ところで:同じ件名に関する質問があります:アプリ以外のMac OS Xバンドルのアイコンを設定します。しかし、そこにある唯一の答えは、アイコンの作成方法を示しており、問題の解決には役立ちません。