My app has iTunes file sharing turned on, and when user add a file in iTunes, it should be able to detect.
The following function from Application Delegate is used to be called
but not any more:
- (void)applicationDidBecomeActive:(UIApplication *)application
There is a solution: GCD. GCD allows you to create a
dispatch_source_t that watches for vnode changes, like a write in a directory, and then notifies you about it. The basic is: Use the
open(path, O_EVTONLY) syscall to obtain a file descriptor to the directory, then call
DISPATCH_SOURCE_TYPE_VNODE as type and
DISPATCH_VNODE_WRITE as mask. Set the event handler using
dispatch_source_set_event_handler and do whatever you need to do when a file is written in the directory, additionally you also want to set a cancellation handler that calls
close() to close the file descriptor. Finally, call
dispatch_resume() to start monitoring.