TOReachability
一个轻量级的、单元测试过的类,用于检测iOS上的网络状态变化。
TOReachability
是一个小的Objective-C类,可用于检测当前设备是否更改了其网络状态;在Wi-Fi、蜂窝或无网络之间。
它基于Apple的Reachability
类,但这是一个全新的实现。与Reachability相比,除了为Objective-C适当地命名空间外,它还清理了以使用现代Objective-C约定,删除了已弃用的功能,并删除了大部分Apple包含的不必要代码。
虽然目前TOReachability
只包括最基本的功能,但如果有需要额外功能的贡献者,它肯定是开放的。
特性
- 完全单元测试。
- 与CocoaPods和Carthage集成。
- 当当前状态的网络状态变化时,反应性地执行回调逻辑。
- 回调选项包括块、代理和
NSNotification
。 - 对于仅需要Wi-Fi的情况,可以选择忽略蜂窝状态变化。
- 完全桥接并测试,在Swift中正常工作。
最低要求
- iOS 11.0
- tvOS 11.0
- macOS 10.13
- Xcode 14.0
安装说明
CocoaPods
pod 'TOReachability'
Carthage
github "TimOliver/TOReachability"
手动安装
只需将 `TOReachability` 文件夹移动到您的 Xcode 项目中并导入即可。
示例代码
Objective-C
TOReachability *reachability = [TOReachability reachabilityForInternetConnection];
reachability.statusChangedHandler = ^(TOReachabilityStatus newStatus) {
NSLog(@"Network Status Changed!");
};
[reachability start];
Swift
let reachability = Reachability.forInternetConnection()
reachability.statusChangedHandler = { newStatus in
print("Network Status Changed!")
}
reachability.start()
致谢
由 Tim Oliver 为 iComics 开发的组件。
设备模型由 Mockups Design 制作。
许可
TOReachability
使用 MIT 许可证,请参阅 LICENSE 文件。