当应用程序处于后台状态时,Firebase FIRStorageUploadTask 在 Swift 上

2023-12-30

我想为我的应用程序实现一个文件上传队列。文件将上传到 Firebase 存储。当应用程序处于前台模式时,我可以使用后台线程上传文件,我的挑战是在应用程序处于后台状态时继续上传。从我到目前为止的研究来看,使用 NSURLSession 应用程序可以从网络获取数据,但我不确定如何将其与 Firebase API 一起使用。

提前致谢。


大约 6 个月前有人提出了这个问题,但我试图解决同样的问题,所以偶然发现了它。如果有帮助的话,我可以通过设置标准 iOS 后台任务来解决这个问题:

backgroundUploadID = UIApplication.shared.beginBackgroundTask(expirationHandler: nil)

在调用之前执行此操作:

uploadTask = firebaseStorageRef.put(data!, metadata: metadata)

所有上传观察者 - .progress、.success 和 .failure - 当应用程序位于后台时都会被调用。 如果“.success”、“failure”调用:

UIApplication.shared.endBackgroundTask(currentBackgroundUploadID)

我认为如果我的上传量很大,操作系统会在某个时候切断我的连接。我正在上传 iPhone 相机照片,每张约 3mb。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当应用程序处于后台状态时,Firebase FIRStorageUploadTask 在 Swift 上 的相关文章

随机推荐