DCReachabilityManager 1.0.2

DCReachabilityManager 1.0.2

David Cortes维护。



ReachabilityManager

CI Status Version License Platform codecov.io Twitter Follow

要求

  • iOS 12 或更高版本
  • tvOS 12 或更高版本
  • macOS 10.14 或更高版本

安装

手动

将 ReachabilityManager.swift 添加到您的项目中。

Carthage

Carthage 是一个分布式依赖管理器,它构建您的依赖并为您提供二进制框架。要使用 Carthage 进行安装

  1. 通过 Homebrew 安装 Carthage
$ brew update
$ brew install carthage
  1. 将 github dcortes22/ReachabilityManager.swift 添加到您的 Cartfile。
  2. 运行 carthage update
  3. 将《ReachabilityManager.framework》从“Carthage/Build/iOS/”目录拖到Xcode项目“通用”设置中的“链接框架和库”部分。
  4. $(SRCROOT)/Carthage/Build/iOS/ReachabilityManager.framework添加到Carthage构建阶段的可执行脚本阶段输入文件中。
  5. 在您的代码中按如下方式引入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)

检查状态

要检查状态变化,可以使用onConnectionReachableonConnectionUnReachable闭包

// 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文件。