我真的需要帮助修复一些错误,这些错误可能是由于更新的swift和firebase版本导致了许多错误。第一个出现在第一个注释之后,错误显示为:
“无法将类型'((User ?, Error?)->()'的值转换为预期的参数类型'AuthDataResultCallback?' (又名'Optional <(Optional,Optional)->()>')”和“无法对'Auth'类型的非可选值使用可选链接”
下一个包含错误信息:
“类型为'StorageMetadata'的值没有成员'downloadURL'”
对于上下文,我正在遵循一个教程,该教程显示了过去有效的代码,但我想它目前不起作用。目标是将图像从相机胶卷上传到firebase数据库,然后检索图像URL。
(时间戳27:04):“ https://www.youtube.com/watch?v=OEUeGuBnNAs&list=PLaXWdRaxFtVcgioOVP6UxFt43KQ6Gjur_&index=14”
如果您能找到任何解决方案,请事先感谢您,我可以将其发送给本教程中的其他所有人,因此希望我们可以为其他任何问题的人士提供帮助。谢谢!
@IBAction func signUpBtn_TouchUpInside(_ sender: Any) {
/* */Auth.auth()?.createUser(withEmail: emailTextField.text!, password: passwordTextField.text!, completion: { (user: User?, error: Error?) in
if error != nil {
print(error!.localizedDescription)
return
}
let uid = user?.user.uid
let storageRef = Storage.storage().reference(forURL: "gs://instagramclone-fc544.appspot.com").child("profile_image").child(uid!)
if let profileImg = self.selectedImage, let imageData = profileImg.jpegData(compressionQuality: 0.1) {
storageRef.putData(imageData, metadata: nil, completion: { (metadata, error) in
if error != nil {
return
}
let profileImageUrl = /* */metadata?.downloadURL()?.absoluteString
self.setUserInfomation(profileImageUrl: profileImageUrl!, username: self.usernameTextField.text!, email: self.emailTextField.text!, uid: uid!)
})
}
})
}