2016-05-12 10 views
1

私はこの(古い)フレームワークを使用しています:https://github.com/rastersize/CDEventsファイルシステムの変更を追跡しています。CDEventの根底にあるFSEventフラグは常に `isGenericChange`です

何らかの理由で、フラグは常にevent.isGenericChangeです。 FSEventレベルでは、kFSEventStreamEventFlagNone(コード0)となります。

これは、フレームワークが古くなり、変更された何かを失っているとは何か?ビルド/テストの警告/エラー(CocoaPods経由でインストールされたもの)は得られません。 (などのメタデータ、変更権を、変更、作成、削除、編集、名前の変更)

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    self.events = [[CDEvents alloc] initWithURLs:@[[NSURL URLWithString:@"/Users/username/Desktop/"]] 
             delegate:self 
             onRunLoop:[NSRunLoop currentRunLoop] 
          sinceEventIdentifier:kCDEventsSinceEventNow 
          notificationLantency:((NSTimeInterval)0.25) 
         ignoreEventsFromSubDirs:NO 
            excludeURLs:@[] 
          streamCreationFlags:kCDEventsDefaultEventStreamFlags]; 
} 

- (void)URLWatcher:(CDEvents *)URLWatcher eventOccurred:(CDEvent *)event { 
    NSLog(@"Event: %ld", (unsigned long)event.flags); 
} 

は、私はすべてのアクションを試してみました、それは常に genericChangeです:

私は、デリゲートを通じて、このコードを使用しています。

答えて

1

kFSEventStreamCreateFlagFileEventsフラグを追加して修正しました。私は、私はむしろ代わりに、これらのマニュアルのフラグを使用してstreamCreationFlags:kCDEventsDefaultEventStreamFlagsを配置するので、ソースコードを調整しないと思いますCocoaPodsを使用していますので:

(kFSEventStreamCreateFlagUseCFTypes | 
kFSEventStreamCreateFlagWatchRoot | 
kFSEventStreamCreateFlagFileEvents) 

は、それがいつか過去にAppleがやったいくつかの急激な変化に関係していますゲス。私は今、正しいフラグとファイルへのフルパス(ディレクトリだけでなく)も取得しています。

関連する問題