【发布时间】:2019-05-22 20:07:10
【问题描述】:
我的情况是插入了带有 wifi 的路由器,但路由器没有连接到互联网(没有 wifi)。我当时使用的任何可达性等级都认为它已连接,因为 wifi 可用,但无法确定 wifi 本身无法连接。
我现在使用Ashley Mills Reachability,它工作正常,因为它可以通过 ping 主机名来判断我是否连接到互联网。
let reachability = Reachability(hostname: "www.google.com")
reachability.whenReachable = { (reachability) in
// connection is fine remove no connection alert if it's on screen
}
reachability.whenUnreachable = { (reachability) in
// can't ping Google so alert no connection
}
Firebase 有类似的功能:
let connectedRef = Database.database().reference(withPath: ".info/connected")
connectedRef.observe(.value, with: { (connected) in
if let boolean = connected.value as? Bool, boolean == true {
// connection is fine remove no connection alert if it's on screen
else {
// can't ping Firebase so alert no connection
}
})
问题是上述 Firebase 功能能否判断我的 wifi 是否开启(路由器已插入)但 wifi 本身没有像 AshleyMills 那样连接到互联网(没有 wifi)?
【问题讨论】:
标签: ios swift firebase reachability