私のために再帰的な観戦を処理するファイルシステムイベント/ kqueueのための良いOBJCライブラリのラッパーはありますか?

StackOverflow https://stackoverflow.com/questions/5987129

質問

特定のディレクトリ内のファイルが変更されたときに通知を受け取るOSX(Snow Leopard)アプリを書き込み、変更された特定のファイルのパスにアクセスしたい。

File System Eventsまたはkqueueを使用してこれを行うことができることを知っています。前者は、どの特定のファイルが変更されたのかの詳細を提供していません(私が見ているディレクトリのスナップショットを作成してからそれをスキャンして、どのファイルが変更されたかを調べます)。後者は再帰的な視聴をサポートしていません(親ディレクトリ内のすべてのファイルとディレクトリに常に監視を再帰的に追加する必要があります)。

スナップショット/再帰を扱うライブラリを探しましたが、見つけることができません。 UKKQueueは、低レベルのkqueueのもののための良いラッパーのように見えますが、再帰をしていないようです。 GTMFileSystemKQueueでも同じです。 SCEventsFile System Eventsのための良いラッパーのように見えますが、変更された特定のファイルの検索を処理するようです。

私が欲しいものを行い、これらの技術のいずれかのOBJCプロジェクトに適しているライブラリはありますか?

役に立ちましたか?

解決

GTMFileSystemKQueue Objcのディレクトリを再帰的に繰り返すのが簡単なことを見つけた後:

// Create a directory enumerator for the given top level directory
NSDirectoryEnumerator *de = [[NSFileManager defaultManager] enumeratorAtPath:dir];

// Add a kqueue on every file and folder below the top level
NSString *file;
while ((file = [de nextObject])) {
    [[GTMFileSystemKQueue alloc] initWithPath:[dir stringByAppendingString:file]
                                    forEvents:kGTMFileSystemKQueueAllEvents
                                acrossReplace:YES
                                       target:self
                                       action:@selector(fileSystemKQueue:events:)];
}
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top