Skip to content

eonist/FileWatcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
Jul 4, 2021
Apr 13, 2021
Apr 13, 2021
Oct 22, 2020
May 18, 2019
Apr 13, 2021
Apr 13, 2021
May 25, 2019
May 18, 2019
Dec 8, 2020
May 23, 2019
Apr 13, 2021
Oct 23, 2023

Repository files navigation

Tests

FileWatcher

A simple file-watcher in Swift

platform Lang codebeat badge SwiftLint Sindre mit Status

Installation:

  • CocoaPods pod "FileWatcher"
  • Carthage github "eonist/FileWatcher" "master"
  • Swift Package Manager https://github.com/eonist/FileWatcher.git
  • Manual Open FileWatcherExample.xcodeproj

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