次のコードを使用して、アプリケーションにカスタム ファイル拡張子のアイコンを表示させようとしています。
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>My Custom Extension</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSItemContentTypes</key>
<array>
<string>com.myapp.myext</string>
</array>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>NSExportableTypes</key>
<array>
<string>com.myapp.myext</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeIconFile</key>
<string>Myicon.icns</string>
<key>UTTypeDescription</key>
<string>My Custom Extension</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeIdentifier</key>
<string>com.myapp.myext</string>
<key>UTTypeReferenceURL</key>
<string>http://www.myapp.com</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>myext</string>
</array>
</dict>
</dict>
</array>
UTTypeIconFileとCFBundleTypeIconFileの両方を使用してみましたが、アイコンはアプリ バンドル内の Content/Resources フォルダーの下にありますが、ファイル拡張子を持つファイルを見ると空白のアイコンが表示されます。
問題があるかどうかはわかりませんが、このアプリケーションはJavaApplicationStubを使用して起動されます(これは Java アプリです)。
どんな助けでも大歓迎です:)