31

GitHub - eonist/FileWatcher: Monitoring file system changes in macOS

 4 years ago
source link: https://github.com/eonist/FileWatcher
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

mit Status platform Lang codebeat badge SwiftLint Sindre

FileWatcher

A simple File watcher in swift.

installation:

  • Carthage github "eonist/FileWatcher" "master"
  • Manual Open FileWatcherExample.xcodeproj
  • CocoaPod (Coming soon)

Example

this will monitor your Desktop for any file changes:

let filewatcher = FileWatcher([NSString(string: "~/Desktop").expandingTildeInPath])

filewatcher.callback = { event in
  print("Something happened here: " + event.path)
}

filewatcher.start() // start monitoring

Running FileWatcher on a background thread

The above example will run FileWatcher (ie. its callback function) from the current thread. However, if your callback needs to run for any significatant amount of time (for example when monitoring a folder for photos and you need to run a lenghty image processing algorithm on them), this is rarely a good idea.

If you'd rather have your callback running on a background thread, you can provide your own queue, and FileWatcher will use that (instead of the default current thread / run loop):

filewatcher.queue = DispatchQueue.global()

Notes and documentation:

wiki


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK