FOlder Watcher - Cocoa / Obj C.

时间:2014-02-27 11:12:54

标签: objective-c macos cocoa

我需要为特定类型的文件(pdf)观看指定的文件夹,并仅在文件“已创建”或“重命名”时获取通知。 我尝试了许多Obj c包装器,如SCEvents,UKKQueue等,我无法获得通知委托中引发的事件类型(“创建”或“重命名”)。我只是得到一个标志/一些#。我也尝试过没有引发回调的FSEventStream。为此提供了以下网址:OSX FSEventStreamEventFlags not working correctly

在SCEvents中,我有下面的委托,它没有告诉我事件的类型 -

- (void)pathWatcher:(SCEvents *)pathWatcher eventOccurred:(SCEvent *)event {

    NSLog(@"%@", event);
}

获取以下日志 -

2014-02-27 16:41:59.342 PMLauncher6[5187:303] <SCEvent { eventId = 661674, eventPath = /Users/Test, eventFlag = 67584 } >

任何人都有同样或更好的方式来满足要求,请提出建议。

由于


1 个答案:

答案 0 :(得分:2)

尝试NSWorkspace - noteFileSystemChanged:

文档并没有详细说明它,而是作为“通知NSWorkspace对象文件系统在指定路径上发生了变化”的通知。它应该符合您的需求。