当用户终止应用时,如何将图像上传到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 回答
好问题 . 目前,在iOS上,如果应用程序背景或被杀,则无法继续并重新启动上载或下载 . 此功能exists on Android(因为活动在屏幕旋转时重置,这使其成为一个更常见的问题),我们计划将来在iOS上使用它 .
最终,我们想简单地将它设为
[FIRStorage enablePersistentUploads:YES]
或类似标志,以便自动为您执行此操作,因此您根本不必考虑它 .