【问题标题】:Swift: Uploading image to Firebase cloud storage when user closes appSwift:当用户关闭应用程序时将图像上传到 Firebase 云存储
【发布时间】:2017-03-08 10:33:58
【问题描述】:

当用户终止应用时,如何将图片上传到 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,等用户再次打开应用后重试上传?

【问题讨论】:

    标签: swift firebase firebase-storage


    【解决方案1】:

    好问题。目前,在 iOS 上,如果应用程序被后台或杀死,则无法持久并重新启动上传或下载。这个功能exists on Android(因为 Activity 在屏幕旋转时被重置,这使得这个问题变得更加普遍),我们计划将来在 iOS 上提供它。

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

    【讨论】:

    • 假设现在已经快一年了,没有取得任何进展
    • 距离这个答案已有两年半了 - 我还看不到通过 SDK 执行此操作的任何方法吗?
    • 又过了两年,仍未实施:)
    • 我不再做这方面的工作了,但总是欢迎拉取请求 :) github.com/firebase/firebase-ios-sdk/blob/master/…
    • @MikeMcDonald!在这里见到你很有趣哈哈。有没有办法使用 URLSession 来管理上传到云存储?我需要写一个Capacitor插件来使用Firebase进行后台上传,而iOS是这里的落后者。
    猜你喜欢
    • 1970-01-01
    • 2019-04-07
    • 2016-09-23
    • 1970-01-01
    • 2020-06-01
    • 2016-11-20
    • 2021-10-28
    • 2015-06-13
    • 2021-03-29
    相关资源
    最近更新 更多