Swift:当用户关闭应用程序时,将图像上传到Firebase云存储

时间:2016-10-26 07:09:10

标签: swift firebase firebase-storage

当用户终止应用时,如何将图像上传到Firebase存储?

这是我的代码:

firebaseRef.child("\(uid)/\(filePath)").put(data, metadata: metadata) { (metadata, error) in
   // NOTE: This spot never reaches when user closes the app
   if error != nil || metadata == nil {
      log.error("Fail to store image in cloud storage")
   } else {
      // Do something with the metadata url
   }

如您所见,如果用户终止应用并且我无法将用户的图像上传到Firebase存储,则异步完成功能块永远不会完成

如何防止用户在上传图片后终止应用?我有一个初步的想法。我可以暂时将图片存储在CoreData / NSUserDefaults中,并在用户再次打开应用时重试上传吗?

1 个答案:

答案 0 :(得分:1)

好问题。目前,在iOS上,如果应用程序背景或被杀,则无法继续并重新启动上载或下载。此功能exists on Android(因为活动在屏幕轮换时重置,这是一个更常见的问题),我们计划将来在iOS上提供。

最终,我们希望简单地将其设为[FIRStorage enablePersistentUploads:YES]或类似标志,以便自动为您执行此操作,因此您根本不必考虑它。