ReachabilityManager
要求
- iOS 12 或更高版本
- tvOS 12 或更高版本
- macOS 10.14 或更高版本
安装
手动
将 ReachabilityManager.swift 添加到您的项目中。
Carthage
Carthage 是一个分布式依赖管理器,它构建您的依赖并为您提供二进制框架。要使用 Carthage 进行安装
- 通过 Homebrew 安装 Carthage
$ brew update
$ brew install carthage
- 将 github
dcortes22/ReachabilityManager.swift
添加到您的 Cartfile。 - 运行
carthage update
- 将《ReachabilityManager.framework》从“Carthage/Build/iOS/”目录拖到Xcode项目“通用”设置中的“链接框架和库”部分。
- 将
$(SRCROOT)/Carthage/Build/iOS/ReachabilityManager.framework
添加到Carthage构建阶段的可执行脚本阶段输入文件中。 - 在您的代码中按如下方式引入ReachabilityManager:
import ReachabilityManager
CocoaPods
ReachabilityManager通过CocoaPods提供。要安装它,只需将以下行添加到Podfile中
pod 'DCReachabilityManager'
示例
ReachabilityManager使用闭包处理连接变化。这些闭包在主队列上运行。
初始化
ReachabilityManager利用NWPathMonitor类,因此您可以初始化库,使用特定的适配器并只检查该适配器的状态,或使用所有可用的适配器。
// Empty parameter on the constructor means to subscribe to all the available network adapters
let manager = ReachabilityManager()
您可以使用枚举Adapter指定特定的适配器
// Here we will subscribe to the cellular adapter only
let manager = ReachabilityManager(adapter: .cellular)
检查状态
要检查状态变化,可以使用onConnectionReachable和onConnectionUnReachable闭包
// Empty parameter on the constructor means to subscribe to all the available network adapters
let manager = ReachabilityManager()
manager.onConnectionReachable = { (manager) in
print("Connection online")
}
manager.onConnectionUnReachable = { (manager) in
print("Connection offline")
}
获取适配器信息
闭包有一个ReachabilityManager参数,其中包含当前已订阅适配器的信息
// Empty parameter on the constructor means to subscribe to all the available network adapters
let manager = ReachabilityManager()
manager.onConnectionReachable = { (manager) in
print("Connection online on adapter \(manager.currentAdapterMode)")
}
manager.onConnectionUnReachable = { (manager) in
print("Connection offline on adapter \(manager.currentAdapterMode)")
}
作者
David Cortes, @dcortes22
许可证
ReachabilityManager 在MIT许可证下可用。更多信息请参阅LICENSE文件。