Pass a directory URL, and the observer listens for changes inside it. Used by ScriptDeck for responding to folder events.
Add this repo via SwiftPM, or copy DirectoryObserver
and FSObserver
in your project.
- Initilaize the observer:
try DirectoryObserver(atFolderURL: url)
or
try DirectoryObserver(atFolderURL: url, fileSystemEvent: DispatchSource.FileSystemEvent)
- Set the delegate
observer.delegate = self
- Conform to
DirectoryObserverDelegate
That's it! The didChange(currentUrls:)
delegate is triggered when a file system event occurs (default is .all
, which responds to all events)