0

OSX Finderに「フック」して次のことを実行する方法はありますか:

アプリケーションが起動すると、アプリケーションによって作成されたフォルダがユーザーの Finder に表示されます。このフォルダー内で、ユーザーは複数のフォルダーからのファイルを表示します...ユーザーがアプリケーションで指定した複数のフォルダー内の複数のファイルへの統一されたビュー。したがって、この「統合されたフォルダ」には実際のファイルはなく、元のフォルダに残っていますが、ユーザーはこの 1 つのフォルダに、この新しいフォルダにすべての実際のファイルがあるかのように表示します。したがって、コピーや移動は必要ありません。

正直なところ、それが可能かどうか、また Cocoa SDK 内で何を探すべきかはわかりません。たぶん、Finder自体または他の方法のAPIがありますか?!

よろしく

ぴくぴく動く

4

1 に答える 1

0

最初のオプションは、アプリケーションが元のファイルへのエイリアスを作成できることです。Finder はこれらをアイコンの上に小さな矢印の「バッジ」で表示するので、それらが元のファイルではなく、それらのエイリアスであることは明らかです。

アイコンのバッジが気に入らない場合は、ハード リンクを作成すると、必要なものが得られる場合があります。

Mac OS X は、UFS (Unix) と一致する HFS+ (Mac) ファイルシステムのビューを提示し、ハードおよびシンボリック リンクにアクセスできます。後者は Finder によってエイリアスと同様に扱われますが、前者は元のファイルであるため、元のファイルと区別できません。Unixファイルシステムでは、ディレクトリ内のファイルは実際のファイルへの参照 ( inode番号) にすぎません。ディレクトリ内のエントリは実際のファイルへの単なるハード リンクであり、ファイルには任意の数のハード リンクを含めることができます (リンク数が 0 になるとファイルは削除されます。それが役立つ場合は保持/解放モデルを考えてください)。 .

Cocoa レベルでNSFileManagerは、ハード リンクを作成する方法があります。または、Unix レベルのlink(2)関数を使用できます。

于 2012-11-06T22:09:52.233 に答える