当用户注册我的应用时,他们会选择个人资料图片,输入姓名,电子邮件和密码。我使用firebase使用电子邮件和密码对它们进行身份验证。我正在使用FIRAuth.auth()?.addAuthStateDidChangeListener
来检测用户身份验证状态的变化。如果用户已经过身份验证,则执行内部代码(此代码将用户发送到下一个viewController)。问题是在将我的数据添加到实时数据库和FirebaseStorage之前,内部代码会触发。有没有办法监控两个任务何时成功,那么我可以触发视图控制器的更改?谢谢。
答案 0 :(得分:7)
Firebase有关于如何跟踪上传到其服务器的文件进度的tutorial:
let storageRef = FIRStorage.reference().child("folderName/file.jpg");
let localFile: NSURL = // get a file;
// Upload the file to the path "folderName/file.jpg"
let uploadTask = storageRef.putFile(localFile, metadata: nil)
let observer = uploadTask.observeStatus(.Progress) { snapshot in
print(snapshot.progress) // NSProgress object
}
此快照为您提供有用的信息,例如总大小 到目前为止,文件的字节数和上传的字节数。运用 此信息,您可以计算上传的百分比并使用它 更新应用中的任何UI控件。