Firestore call setData在iOS上注销并登录firebase auth后将不会进入完成块
在iOS(swift)中使用Firebase SDK 使用Firebase(4.10.0) 使用FirebaseAuth(4.4.4) 使用FirebaseCore(4.0.16) 使用FirebaseFirestore(0.10.2) 问题发生在Firestore call setData在iOS上注销并登录firebase auth后将不会进入完成块,firebase,login,google-cloud-firestore,logout,completion,Firebase,Login,Google Cloud Firestore,Logout,Completion,在iOS(swift)中使用Firebase SDK 使用Firebase(4.10.0) 使用FirebaseAuth(4.4.4) 使用FirebaseCore(4.0.16) 使用FirebaseFirestore(0.10.2) 问题发生在 登录(匿名或使用凭据) 签到 签名 调用FIRDocumentReference.setData,则永远不会调用setData的完成块 如果 签到 终止应用程序 签名 调用FIRDocumentReference.setData一切正常 导入UIK
导入UIKit
进口火基
类ViewController:UIViewController{
让mEmail=”tester@xxxxx.com"
让mPassword=“xxxxx”
重写func viewDidLoad(){
super.viewDidLoad()
}
@iAction func clickSignIn(\发送方:任意){
打印(“单击登录”)
Auth.Auth().sign(电子邮件:mEmail,密码:mPassword){(用户,错误)在
打印(“用户:,用户??“无用户”)
打印(“错误:,错误??“无错误”)
}
}
@iAction func单击注销(\发送方:任意){
打印(“单击签出”)
做{
请尝试Auth.Auth().signOut()
}抓住{
打印(“无法注销”)
}
打印(Auth.Auth().currentUser??“无用户”)
}
@iAction func clickSetData(\发送方:任意){
打印(“单击设置数据”)
let ref=Firestore.Firestore().文档(“测试/测试1”)
让数据=[“文本”:“xxxxx”]
ref.setData(数据,选项:SetOptions.merge()){(e)in
如果(e==nil){
打印(“设置数据完成”)
}否则{
打印(“设置数据错误:”,e??“无错误”)
}
}
}
}
谷歌工程师确认,我发现的问题是最新iOS SDK版本(4.10.0)上的一个已知错误。好消息是,它已经在以下pull请求中修复:890893。在补丁公开发布之前,谷歌建议我们暂时降级到4.9.0版。目前无法共享任何细节或时间表,因此请密切关注我们的发行说明以获取任何更新。这些是Firestore中已知的漏洞,应在即将发布的版本中修复。请注意,Firebase 4.11.0版为我解决了这个问题。我正在使用cocoapods,所以这是我目前能达到的最高水平,尽管v4.12.0于3月20日发布。