gpt4 book ai didi

ios - 使用 reachabilitySwift 检查互联网连接或 wifi 连接

转载 作者:行者123 更新时间:2023-11-28 12:17:49 26 4
gpt4 key购买 nike

我正在构建一个 iOS 应用程序,在某些时候我需要检查该应用程序对互联网的访问,所以我使用了 ReachabilitySwift 库。

经过一些测试,在我看来,该库仅检查设备是否连接了 wifi,而没有从我的路由器提供实际的互联网连接。

假设我断开了路由器与互联网的连接,如果我的 iOS 设备通过 wifi 连接到路由器,可达性告诉我我们有互联网连接,而实际上我的路由器没有互联网。

我尝试了与特定主机的可达性,但仍然有相同的结果

var reachability = Reachability.init(hostname: "google.com");

当 wifi 连接丢失或实际互联网连接丢失时,可达性库是否应该提供反馈?

提前谢谢你。

最佳答案

我在对受 VPN 保护的网络进行 Web 服务调用时遇到了与 Reachability 类似的问题。

var reachability = Reachability.init(hostname: "google.com"); 对我不起作用,因为它在有 Wifi 连接时返回 true。

当对服务器进行虚拟调用时,我使用了 Alamofire 响应

func networkIsAvailable(available: (Bool, String?) -> Void) {

var message : String = ""
DispatchQueue.main.async {
HUD.show(.progress)
Alamofire.request(Constants.baseUrl, method: .get, parameters: ["foo": "bar"])
.responseJSON(completionHandler: { (response) in
let error = response.result.error as? NSError
if error?.localizedDescription == networkAlert {
message = networkAlert
available(false, message)

} else if error?.code == cannotConnectServerCode || error?.localizedDescription == cannotConnectServerMessage {
message = cannotConnectServerMessage
available(false, anotherNetworkAlert)

} else {
available(true, nil)
}
})
}
}

关于ios - 使用 reachabilitySwift 检查互联网连接或 wifi 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45857470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com