我不知道这是否可行,但这是我的问题-
那么可以区分第二种情况还是与无法访问Internet的情况相同?
我正在使用https://github.com/ashleymills/Reachability.swift
可以找到完整的代码https://github.com/deadcoder0904/net-alert
基本上是one file
相关代码-
let reachability = Reachability()!
reachability.whenReachable = { reachability in
if reachability.connection == .wifi {
print("Reachable via WiFi")
self.setStatusIcon(color: "green")
} else {
print("Reachable via Cellular")
self.setStatusIcon(color: "yellow")
}
}
reachability.whenUnreachable = { _ in
print("Not reachable")
self.setStatusIcon(color: "red")
}
do {
try reachability.startNotifier()
} catch {
print("Unable to start notifier")
self.setStatusIcon(color: "yellow")
}
其中setStatusIcon()
根据颜色设置状态图标
我想知道何时无法访问互联网,但在Swift中连接了WiFi吗?
答案 0 :(得分:0)
我找到了解决方案。
正如Augie所建议的那样,由于仅检查WiFi或Cellular是否可访问,因此无法实现Reachability。
因此,我不得不ping一个网站以检查它是否在线。
如果我收到200响应,则表明它已连接。
但是,如果我没有获得200,那么即使已连接WiFi,也没有互联网。
我不知道如何正确Ping,所以我问another question我在哪里the answer
中找到