我正在尝试使用以下代码将一些数据上传到Firebase存储。但是,如果没有可用的互联网连接,则呼叫似乎被卡住了。我想我可以设置一个计时器并在超时后取消任务。但是,这不是一个很好的解决方案。上载可能需要很长时间。在通话前检查互联网连接也是不正确的。仅仅因为我有互联网并不意味着我可以连接到Firebase。
let storageRef = firebaseStorage.reference(withPath: path)
storageRef.putData(data, metadata: metadata) { metadata, error in
... // This never gets called if there's no internet connection
}
有人对这个问题有合理的解决方案吗?谢谢。