2012-04-30 5 views

答えて

5

あなたはこれを行うための方法を持っているNSWorkspaceを、使用することができます。

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

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

拡張属性は、ファイルに添付されたファイルシステムメタデータです。ファイルに添付されている拡張属性は、xattrとそれに関連するコマンドを使用して確認できます。

拡張属性は、ファイルがファイルメタデータをサポートしていないファイルサーバー上またはHFS以外のファイルシステムを持つ外部ドライブ上にある場合、HFS +ファイルシステム上でのみ信頼性が保証されます。アイコン書かれていないかもしれない。

+0

ありがとうございました。信じられないほど簡単に見えます。そして、これは実際にファイルに対して何をするのでしょうか?このメソッドはNSImageをどこに配置しますか? – BartoNaz

+1

ファイルのリソースフォークに格納されます。最近Mac OSは実際のリソースフォークを使用しないので、イメージは 'com.apple.ResourceFork'というHFS拡張属性に保存されます。拡張属性は、ファイルに添付されたファイルシステムのメタデータです。 'xattr'とそれに関連するコマンドを使ってファイルに付加された拡張属性を見ることができます。 –

+0

OK。ありがとうございました。私はそれを受け入れることができるようにあなたの答えを答えて投稿することができます。 – BartoNaz

関連する問題