私はCocoaでアプリケーションを開発しています。私は、特定の場所にあるファイルの内容が変更されているかどうかを常に確認したい(例えば、.NETではFileSystemWatcher
)。誰でも私に解決策を教えてくださいCocoaのFileSystemWatcher(.NET)と同等
答えて
FSEventsをご覧ください。
FSEventsは素晴らしいですが、フォルダを監視するために使用されます。 1つのファイルを監視するには、kqueuesをチェックアウトする必要があります。ターミナルで "man kqueue"を試してみてください。
しかし、SCEventsは、Cocoaソリューションを探している人にとっては優れたオプションです。 –
FSEventsはまだディレクトリを変更するためのもので、SCEventsはFSEventsのラッパーです。質問は、単一のファイルを監視するよう求めます。 Kqueuesはそれにはるかに適しています。上のSCEventsへのリンクも、良いラッパーかもしれないUKKQueueを参照しています。 –
もう一つの選択肢は、/ dev/fsevents firehoseから直接飲むことです。私は正確にこれを行うアプリケーションで動作し、非常にうまく動作します。ファイルが変更されたり、削除されたり、移動されたり、属性が変更されたりすると、通知を受け取ることができます。これはCocoaのほとんどのオプションなので、Cocoaアプリで使用しています。
kqueuesの更なる資源はNSWorkspaceクラスのドキュメントでhttp://developer.apple.com/documentation/Darwin/Conceptual/FSEvents_ProgGuide/KernelQueues/KernelQueues.html
ルックです。
ここでは、ブックマークとNSFileManagerを使ってファイルを移動したときにフォローする方法の例を示します。
だけの提案:「私に解決策を与えるには、」英語で少し研磨材をオフに来てと解釈され、また、あなた自身のための答えを探していないかもしれないことを意味することができます。質問を投稿する前にGoogleに適切なフォームです。 :-) –