I’ve used dispatch stuff.  I found this with a quick google… it should be close 
to what one would need to monitor a folder.
int fildes = open("/path/to/directory", O_RDONLY);

dispatch_queue_t queue = 
dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_source_t source = dispatch_source_create(DISPATCH_SOURCE_TYPE_VNODE, 
fildes, DISPATCH_VNODE_DELETE | DISPATCH_VNODE_WRITE | DISPATCH_VNODE_EXTEND | 
DISPATCH_VNODE_RENAME | DISPATCH_VNODE_REVOKE, queue);

dispatch_source_set_event_handler(source, ^{
// ... handle changes
});

dispatch_source_set_cancel_handler(source, ^{
// ... handle cancel
});

dispatch_resume(source); // Start monitoring

// And sometime later
dispatch_source_cancel(source); // Stop monitoring

> On Dec 21, 2019, at 11:08, Gabriel Zachmann via Cocoa-dev 
> <cocoa-dev@lists.apple.com> wrote:
> 
> Is there a quick and easy way to check whether or not a directory tree has 
> changed?
> 
> I am only interested in file additions or deletions, somewhere beneath a 
> specific root directory,
> e.g., ~/Data/some_directory.
> 
> However, I am interested in such changes between different invocations of my 
> program.
> So, when the user adds a file somewhere in the directory tree while my 
> program is not running, I'd still like to detect that.
> 
> Is there a quick and easy way to do this?
> 
> Thanks a lot in advance.
> Best regards, Gabriel
> 
> 
> _______________________________________________
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/admin.szatmari.net%40gmail.com
> 
> This email sent to admin.szatmari....@gmail.com
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to