2009-06-30 13 views
6

私はCocoaでアプリケーションを開発しています。私は、特定の場所にあるファイルの内容が変更されているかどうかを常に確認したい(例えば、.NETではFileSystemWatcher)。誰でも私に解決策を教えてくださいCocoaのFileSystemWatcher(.NET)と同等

+3

だけの提案:「私に解決策を与えるには、」英語で少し研磨材をオフに来てと解釈され、また、あなた自身のための答えを探していないかもしれないことを意味することができます。質問を投稿する前にGoogleに適切なフォームです。 :-) –

答えて

6

Diederik氏によれば、FSEventsはファイルシステムイベントをリッスンするAppleのCarbon APIです。誰かが、FSEventsのSCEventsと呼ばれるCocoa/Objective-Cラッパーを作成しました。これは少し使いやすくなっています。

+1

小説としては、FSEventsはCarbon APIではありません。それはコアサービスフレームワークの一部です。 – briankc

1

FSEventsは素晴らしいですが、フォルダを監視するために使用されます。 1つのファイルを監視するには、kqueuesをチェックアウトする必要があります。ターミナルで "man kqueue"を試してみてください。

+0

しかし、SCEventsは、Cocoaソリューションを探している人にとっては優れたオプションです。 –

+0

FSEventsはまだディレクトリを変更するためのもので、SCEventsはFSEventsのラッパーです。質問は、単一のファイルを監視するよう求めます。 Kqueuesはそれにはるかに適しています。上のSCEventsへのリンクも、良いラッパーかもしれないUKKQueueを参照しています。 –

2

もう一つの選択肢は、/ dev/fsevents firehoseから直接飲むことです。私は正確にこれを行うアプリケーションで動作し、非常にうまく動作します。ファイルが変更されたり、削除されたり、移動されたり、属性が変更されたりすると、通知を受け取ることができます。これはCocoaのほとんどのオプションなので、Cocoaアプリで使用しています。

1

ルックです。