title: Use FSEvents in sandboxed app
body: <p>I'm trying to use FSEvents in my sandboxed app to monitor some directories. I implemented the following class:</p>
  
  <pre><code>@implementation SNTracker
  
  - (id)initWithPaths:(NSArray *)paths {
      self=[super init];
      if (self) {
          trackedPaths=paths;
          CFTimeInterval latency=1.0;
          FSEventStreamContext context={0,(__bridge void *)self,NULL,NULL,NULL};
          FSEventStreamRef eeventStream=FSEventStreamCreate(kCFAllocatorDefault,&amp;callback,&amp;context,(__bridge CFArrayRef)trackedPaths,kFSEventStreamEventIdSinceNow,latency,kFSEventStreamCreateFlagUseCFTypes|kFSEventStreamCreateFlagWatchRoot|kFSEventStreamCreateFlagFileEvents);
          FSEventStreamScheduleWithRunLoop(eeventStream,[[NSRunLoop mainRunLoop] getCFRunLoop],kCFRunLoopDefaultMode);
          FSEventStreamStart(eeventStream);
      }
      return self;
  }
  
  static void callback(ConstFSEventStreamRef streamRef,void *clientCallBackInfo,size_t numEvents,void *eventPaths,const FSEventStreamEventFlags eventFlags[],const FSEventStreamEventId eventIds[]) {
      NSLog(@"asd");
  }
  </code></pre>
  
  <p>The problem is that "asd" never gets printed (i.e. the callback function is never called). When I disable "Enable App Sandboxing" in the Summary of my main target in Xcode, the callback gets called. Am I doing something wrong? The only entitlement I've given to the sandboxed app is read-write access to user selected files.</p>