2

MacOS用の私のプログラムは別のファイルへのエイリアスを作成しています。このエイリアスに指定されたアイコンを付けたいです。できればCocoaでObjective-Cを使用してそれを行うにはどうすればよいですか?

4

1 に答える 1

5

NSWorkspaceこれを行うためのメソッドを持つ を使用できます。

//anImage is an NSImage object and
//pathToFile is a path string
[[NSWorkspace sharedWorkspace] setIcon:anImage forFile:pathToFile options:0];

これにより、アイコン データがファイルのリソース フォークに保存されます。最近の Mac OS は実際のリソース フォークを使用しないため、イメージは という名前の HFS 拡張属性に保存されますcom.apple.ResourceFork

拡張属性は、ファイルに添付されたファイルシステム メタデータです。xattrおよび関連コマンドを使用して、ファイルに添付された拡張属性を表示できます。

拡張属性は、HFS+ ファイル システムでのみ信頼できることが保証されていることに注意してください。ファイルが、ファイル メタデータをサポートしていないファイル サーバー上にある場合、または HFS 以外のファイル システムを使用する外部ドライブにある場合、アイコンは書き込まれない可能性があります。 .

于 2012-04-30T09:11:15.517 に答える