网络连接性 (Wǎngluò Liánjiēxìng)

Swift Package,旨在替代传统方法来检测网络连接状态,在传统方法失效时尤其有用。 例如,Apple 建议,要正确检查连接性,您的应用程序应发送网络请求,并由该请求告知应用程序设备的连接状态。 如果设备离线,请求应立即失败,您可以向用户提供适当的反馈。 如果设备在线,请求将发出,您也可以通知用户应用程序正在等待更新的数据。

在大多数情况下,这种方法效果很好。 但是,仍然存在一些罕见的情况,需要您的应用程序检查设备的连接状态。 NetworkConnectivity Package 便是为应对这些罕见情况而构建的。 NetworkConnectivity 检查 TCP 连接的状态,并向委托方法提供更新,以便您的应用程序可以采取相应的操作。

class BaseViewController: ViewController {
    func viewDidLoad() {
        let _ = NetworkConnectivity.shared.setup(with: "agnosticdev.com")
    }
 }
 
extension BaseViewController: NetworkConnectivityDelegate {
    
    public func networkStatusChanged(online: Bool, connectivityStatus: String) {
        if online { 
            // handle online status
        } else {
            // handle offline status
        }
    }
}