Swiftpack.co - eonist/FileWatcher as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by eonist.
eonist/FileWatcher 0.2.3
Monitoring file system changes in macOS
⭐️ 192
🕓 2 years ago
.package(url: "https://github.com/eonist/FileWatcher.git", from: "0.2.3")



A simple file-watcher in Swift

platform Lang codebeat badge SwiftLint Sindre mit Status


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


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:



Stars: 192
Last commit: 6 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

Fix SPM source folder issue
2 years ago

See latest commit

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics