1

ロード可能なバンドルがあります。アプリケーションではありません。icnsファイルをResourceディレクトリに保存し、Info.plistにCFBundleIconFileの正しいエントリがあります。どうすればわかりますか?テストアプリケーションで同じ手法と異なるアイコンを使用しました。「lsregister」を再構築しました。10.6.xと10.7.xのどちらも、Finderにアイコンを表示しません。

コピー/貼り付けを使用してFinderのアイコンを[情報を見る]アイコンに変更しました。これにより、Icon^Mと呼ばれるリソースフォークを持つ隠しファイルが生成されます。

質問:1)アイコンをロード可能なバンドルに表示する方法はありますか?2)プログラムで[情報を見る]アイコンを変更するシェルプログラムまたは方法はありますか?

4

1 に答える 1

0

解決策は、NSWorkspace クラスの -iconForFile メソッドにあります。必要な画像を取得し、上記の方法を使用してアイコンを設定するコマンドラインツールを作成しました。

[[NSWorkspace sharedWorkspace] setIcon:content forFile:targetFile options: NSExclude10_4ElementsIconCreationOption ];

content はアイコンの NSImage コンテンツであり、targetFile はターゲット バンドルへのパスです。

于 2012-06-12T19:13:32.787 に答える