SwiftFSWatcher 1.02-4

SwiftFSWatcher 1.02-4

测试已测试
Lang语言 SwiftSwift
许可证 MIT
Released最新版本2016年6月
SPM支持 SPM

Gurinder Hans 维护。



SwiftFSWatcher

使用 Swift 的一种简单易用的/可扩展的文件系统监视器

示例(Swift)

import Cocoa
import SwiftFSWatcher

class ViewController: NSViewController {

    // NOTE: - Any instance of `SwiftFSWatcher` must be class scoped, like below:

    /* This will not crash your app. */
    let fileWatcher = SwiftFSWatcher(["/var/www/html/", "/home/Downloads/"])
    let anotherWatcher = SwiftFSWatcher()

    override func viewDidLoad() {
        super.viewDidLoad()

        /* Using `localWatcher` will crash your app. */
        // let localWatcher = SwiftFSWatcher()

        fileWatcher.watch { changeEvents in
            for ev in changeEvents {
                print("eventPath: \(ev.eventPath), eventFlag: \(ev.eventFlag), eventId: \(ev.eventId)")

                // check if this event is of a file created
                if ev.eventFlag == (kFSEventStreamEventFlagItemIsFile + kFSEventStreamEventFlagItemCreated) {
                    print("created file at path: \(ev.eventPath)")
                }

            }
        }

        // setup and listen second watcher events on files only
        anotherWatcher.watchingPaths = ["/home/myFile.txt", "/root/bash_session.txt"]
        anotherWatcher.watch { changeEvents in
            for ev in changeEvents {
                print("eventPath: \(ev.eventPath), eventFlag: \(ev.eventFlag), eventId: \(ev.eventId)")

                if ev.eventFlag == (kFSEventStreamEventFlagItemIsFile + kFSEventStreamEventFlagItemInodeMetaMod + kFSEventStreamEventFlagItemModified) {
                    print("file modified at: \(ev.eventPath)")
                }
            }
        }
    }
}

示例(Objective-C)

#import "ViewController.h"
#import <SwiftFSWatcher/SwiftFSWatcher-Swift.h>

@implementation ViewController

SwiftFSWatcher * s;

- (void)viewDidLoad {
    [super viewDidLoad];

    s = [[SwiftFSWatcher alloc] init];

    s.watchingPaths = [@[@"/path/to/some/folder/", @"/path/to/myFile.txt"] mutableCopy];

    [s watch:^(NSArray<FileEvent *> * aa) {
        NSLog(@"changed paths: %@", aa);
    }];
}
@end

安装(两种方法)

  • pod 'SwiftFSWatcher' 包含在您的 Podfile 中

    • 由于框架是用 Swift 编译的,所以需要添加 use_frameworks!

  • 获取 SwiftFSWatcher.framework 并将其添加到项目中或下载此项目以自行构建 .framework

  • 在应用中使用它

有问题?

有什么问题?请随时 发邮件给我

添加了新特性?

现在就发送它!我迫不及待想要看看您做出了什么!

发现了错别字?

哦不!发送带有补丁的 pull request(非常感谢)或直接与我联系 :D

许可证

MIT 许可证