gpt4 book ai didi

swift - Firebase 连接状态在第一次运行时总是返回 false

转载 作者:搜寻专家 更新时间:2023-10-31 22:57:13 25 4
gpt4 key购买 nike

我在我的 iOS 应用程序中使用以下函数来检查我们是否已连接到 Firebase。当这个函数在应用程序中第一次运行时,它总是为连接状态返回 false(即使我连接到 Firebase)。关闭“无互联网”警报并再次调用该函数会返回正确的连接状态(真)。

您知道为什么 Firebase 在函数第一次运行时不返回 true 连接状态吗?

func checkInternetOnLoad(){

let connectedRef = FIRDatabase.database().reference(withPath: ".info/connected")

connectedRef.observeSingleEvent(of: .value, with: { (snapshot) in

// Log snapshot value (Note: this is always false the first time the function is run
print(snapshot.value as? Bool!)

if let connected = snapshot.value as? Bool{

if !connected{
// We don't have internet

// Show alert saying we don't have internet. Pressing "Try Now" reruns the function to check internet again.
let alert = showError(title: "Your Phone's Offline", message: "If you're online and seeing this message, please contact support.", cancelMessage: "Try now", cancelAction: {
self.checkInternetOnLoad()
})
self.present(alert, animated: true, completion: nil)

} else {

// We have internet. Do stuff
}

}
})
}

最佳答案

无法弄清楚,所以我现在的 hacky 解决方法是在五秒后第二次调用 observeSingleEvent() 函数,这会返回正确的连接状态。

关于swift - Firebase 连接状态在第一次运行时总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44103727/

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