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
}
}
}