DirectoryWatchdog 1.1.0

DirectoryWatchdog 1.1.0

测试已测试
语言语言 Objective-CObjective C
许可证 Apache 2
发布时间上次发布2014年12月

未知用户 维护。



  • Simon Grätzer

描述

DirectoryWatchdog是一个简单的外部工具,用于监视本地文件夹中的更改。最常见的情况是与iTunes文件共享支持结合,以监视应用程序的文档目录。此代码使用了BSD kqueue API,应在OSX以及iOS上都能运行。

我在代码中使用了块(blocks)作为回调,因此它需要iOS 4或更高版本(或OSX 10.6或更新)。如果你需要支持更老版本的系统,你可能会将其重写为代理模式。

如何在自己的项目中使用

只需将SGDirWatchdog.h和SGDirWatchdog.m文件复制到你的项目文件夹中,并将它们添加到XCode项目中。然后你可以像在SGViewController.m中那样使用这个类。

对于那些没有时间查看SGViewController.m的人的示例

#import "SGDirWatchdog.h"
// TableviewController code ...
- (void)viewDidLoad
{
    [super viewDidLoad];
    observer = [[SGDirWatchdog alloc]initWithPath:[SGViewController documentsPath]  update:^{
        self.files = [[NSFileManager defaultManager]contentsOfDirectoryAtPath:documentsPath error:NULL];
        [self.tableView reloadData];
    }];
    
    [observer start];
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    [observer stop];
}
// ...

贡献者

代码基于Michael Heyeck的博客文章: http://www.mlsite.net/blog/?p=2312

许可证

版权(c)2011 Simon Grätzer

许可协议:Apache License, Version 2.0(以下简称“许可证”);除非适用法律要求或在书面同意下,否则不得使用此文件,除非符合本许可证。您可以在以下位置获取许可证副本:

   http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则根据本许可证分发的软件按“原样”基础提供,不提供任何明示或暗示的保证或条件。有关许可协议的详细语言、权限和限制,请参阅许可证。