私のために再帰的な観戦を処理するファイルシステムイベント/ kqueueのための良いOBJCライブラリのラッパーはありますか?
-
12-11-2019 - |
質問
特定のディレクトリ内のファイルが変更されたときに通知を受け取るOSX(Snow Leopard)アプリを書き込み、変更された特定のファイルのパスにアクセスしたい。
File System Events
またはkqueue
を使用してこれを行うことができることを知っています。前者は、どの特定のファイルが変更されたのかの詳細を提供していません(私が見ているディレクトリのスナップショットを作成してからそれをスキャンして、どのファイルが変更されたかを調べます)。後者は再帰的な視聴をサポートしていません(親ディレクトリ内のすべてのファイルとディレクトリに常に監視を再帰的に追加する必要があります)。
スナップショット/再帰を扱うライブラリを探しましたが、見つけることができません。 UKKQueue
は、低レベルのkqueue
のもののための良いラッパーのように見えますが、再帰をしていないようです。 GTMFileSystemKQueue
でも同じです。 SCEvents
はFile 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:)];
}
. 所属していません StackOverflow