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

时间:2016-09-01 14:13:00

标签: ios swift firebase firebase-storage

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

提前致谢。

1 个答案:

答案 0 :(得分:2)

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

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

在致电之前做过这个:

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

所有上传观察员 - .progress,.success& .failure - 在应用程序处于后台时调用。 如果是'.success','失败',请致电:

UIApplication.shared.endBackgroundTask(currentBackgroundUploadID)

我认为如果我的上传量很大,操作系统会在某些时候让我失望。我正在上传iPhone相机照片〜每人3mb。