Firebase -can Database.database().reference(withPath: ".info/connected") 替代 Ashley Mills Reachability
Firebase -can Database.database().reference(withPath: ".info/connected") substitute for Ashley Mills Reachability
我的情况是插入了带 wifi 的路由器,但路由器没有连接到互联网(没有 wifi)。无论是什么可达性class我当时使用的都认为它已连接,因为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 功能是否可以像 AshleyMills
那样判断我的 wifi 是否打开(路由器已插入)但 wifi 本身没有连接到互联网(没有 wifi)?
聚会真的晚了,但我可以确认 Firebase 功能确实可以正常工作。它检查与 Firebase 数据库的连接。因此,如果您的 wifi 已打开但没有互联网,那么 Firebase 会说没有互联网。
非常简单。您正在测试与 Firebase 的连接。如果它无法连接到 Firebase,那么是否有 wifi 或手机数据或其他任何东西都没有关系。打不通就打不通,它会告诉你没有连接。
希望对以后的人有所帮助。哦,我已经在我的生产应用程序中使用这段代码一年多了。
我的情况是插入了带 wifi 的路由器,但路由器没有连接到互联网(没有 wifi)。无论是什么可达性class我当时使用的都认为它已连接,因为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 功能是否可以像 AshleyMills
那样判断我的 wifi 是否打开(路由器已插入)但 wifi 本身没有连接到互联网(没有 wifi)?
聚会真的晚了,但我可以确认 Firebase 功能确实可以正常工作。它检查与 Firebase 数据库的连接。因此,如果您的 wifi 已打开但没有互联网,那么 Firebase 会说没有互联网。
非常简单。您正在测试与 Firebase 的连接。如果它无法连接到 Firebase,那么是否有 wifi 或手机数据或其他任何东西都没有关系。打不通就打不通,它会告诉你没有连接。
希望对以后的人有所帮助。哦,我已经在我的生产应用程序中使用这段代码一年多了。