【发布时间】:2021-09-14 15:17:55
【问题描述】:
我在我的 swift 项目中遇到以下错误:https://github.com/firebase/firebase-ios-sdk/issues/4393。为了克服这个问题,我将显示名称更改为用户电子邮件中 @ 之前的字符,如下所示:
var displayName = user.email!
if let atRange = displayName.range(of: "@") {
displayName.removeSubrange(atRange.lowerBound.. < displayName.endIndex)
}
if user.displayName!.count < 2{
let changeRequest = Auth.auth().currentUser?.createProfileChangeRequest()
changeRequest?.displayName = displayName
changeRequest?.commitChanges {(err) in
if let err = err{
print(err)
}
}
}
这在我第一次登录时有效,但如果我注销然后再次登录,显示名称将恢复为 Optional("")。为什么要这样做?
编辑
我创建了一个解决方法,我不仅在第一次创建用户时运行上述代码,而且在每次用户登录时,这似乎都过分了,显示名称不断被覆盖肯定是有原因的。
【问题讨论】:
标签: swift firebase firebase-authentication firebaseui