KZFileWatchers
如果我们能够在不回到 Xcode、更改代码、重新编译和导航回我们的屏幕的情况下调整我们原生应用程序的数据流和配置,那不是很好吗?
为此提供支持的构建工具之一是基于我们观察数据更改的方式,这个微框架提供了用于本地和远程资源的文件观察者。
此框架提供
-
FileWatcher.Local
,用于观察本地文件更改,它也可以用于突破沙盒环境进行调试模拟器构建,例如,观察开发者桌面上的文件(如演示应用程序所做的那样)。 -
FileWatcher.Remote
可以用于观察网络上的文件,它支持Etag
标头和Last-Modified-Date
,因此您可以将文件放在 Dropbox 或真实 FTP 服务器上。
它还支持在 Objective-C 项目中使用。为此,您应考虑以下步骤
-
将
$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)
添加到项目 库搜索路径 中的 构建设置 部分。 -
通过在您要使用 FileWatchers 的任何
.m
文件中添加@import KZFileWatchers;
来导入 swift-header。 -
使用提供的类设置文件观察,如下所示
self.fileWatcher = [[LocalFileWatcher alloc] initWithPath:path];
self.fileWatcher.delegate = self;
[self.fileWatcher startWithError:nil];
- 在您的类中实现
FileWatcherDelegate
以处理文件刷新事件。例如
- (void)refreshDidOccurFrom:(id<FileWatcherProtocol>)fileWatcher type:(enum RefreshResult)type data:(NSData *)data
{
self.textLabel.text = [[NSString alloc] initWithData:data encoding:kCFStringEncodingUTF8];
}
安装
通过 CocoaPods 和 Swift Package Manager 获取 KZFileWatchers。
CocoaPods
为了使用CocoaPods安装KZFileWatchers,只需将以下行添加到您的Podfile中:
pod "KZFileWatchers"
支持Swift 2.3的最后一个版本是 0.1.2
,支持Swift 3.0的最后一个版本是 1.0.4
。
Swift Package Manager
从版本1.0.1开始支持通过SwiftPM安装KZFileWatchers。您只需将其作为依赖项添加到Package.swift清单中。
import PackageDescription
let package = Package(
name: "YourTarget",
dependencies: [
.Package(url: "https://github.com/krzysztofzablocki/KZFileWatchers.git", majorVersion: 1),
]
)
作者
Krzysztof Zabłocki,[email protected]
贡献
欢迎并对KZFileWatchers做出贡献。请参阅贡献指南。
为了清晰说明对成员的期望,KZFileWatchers采用了由贡献者公约定义的规章制度。这篇文章广泛应用于许多开源社区。更多详情请参阅规章制度。
许可
KZFileWatchers在MIT许可下可用。更多信息请参阅LICENSE。