ios - Firebase -Auth.auth().currentUser?.phoneNumber 返回 nil
问题描述
我使用以下方法验证并链接用户的电话号码:
let credential = PhoneAuthProvider.provider().credential(withVerificationID: verificationId, verificationCode: verificationCode)
Auth.auth().currentUser?.link(with: credential, completion: { [weak self](authDataResult, error) in
// no error then success
})
在 Firebase 控制台中,电话号码与用户的电子邮件相关联:
当我尝试使用下面的电话号码访问电话号码时,它显示为 nil
guard let userPhoneNumber = Auth.auth().currentUser?.phoneNumber else { return }
我刚刚更新了我的 pod,并且发生了这个问题,在此之前没有发生过。
当前更新的 Podfile.lock:
- Firebase/Auth (6.11.0):
- Firebase/CoreOnly
- FirebaseAuth (~> 6.3.1)
- Firebase/Core (6.11.0):
- Firebase/CoreOnly
- FirebaseAnalytics (= 6.1.3)
- Firebase/CoreOnly (6.11.0):
- FirebaseCore (= 6.3.2)
- Firebase/Database (6.11.0):
- Firebase/CoreOnly
- FirebaseDatabase (~> 6.1.1)
- FirebaseAnalyticsInterop (~> 1.3)
- FirebaseCore (~> 6.2)
- FirebaseInstanceID (4.2.6):
- FirebaseCore (~> 6.0)
- FirebaseMessaging (4.1.7):
- FirebaseAnalyticsInterop (~> 1.3)
- FirebaseCore (~> 6.2)
- FirebaseInstanceID (~> 4.1)
// ...
旧的 Podfile.lock
- Firebase/Auth (6.8.1):
- Firebase/CoreOnly
- FirebaseAuth (~> 6.2.3)
- Firebase/Core (6.8.1):
- Firebase/CoreOnly
- FirebaseAnalytics (= 6.1.1)
- Firebase/CoreOnly (6.8.1):
- FirebaseCore (= 6.2.3)
- Firebase/Database (6.8.1):
- Firebase/CoreOnly
- FirebaseDatabase (~> 6.1.0)
- Firebase/DynamicLinks (6.8.1):
- Firebase/CoreOnly
- FirebaseDynamicLinks (~> 4.0.5)
- Firebase/Messaging (6.8.1):
- Firebase/CoreOnly
- FirebaseMessaging (~> 4.1.4)
- Firebase/Storage (6.8.1):
- Firebase/CoreOnly
- FirebaseStorage (~> 3.4.1)
- FirebaseAnalytics (6.1.1):
- FirebaseCore (~> 6.2)
- FirebaseInstanceID (~> 4.2)
- GoogleAppMeasurement (= 6.1.1)
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
- GoogleUtilities/MethodSwizzler (~> 6.0)
- GoogleUtilities/Network (~> 6.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)"
- nanopb (~> 0.3)
- FirebaseAnalyticsInterop (1.4.0)
- FirebaseAuth (6.2.3):
- FirebaseAuthInterop (~> 1.0)
- FirebaseCore (~> 6.2)
- GoogleUtilities/AppDelegateSwizzler (~> 6.2)
- GoogleUtilities/Environment (~> 6.2)
- GTMSessionFetcher/Core (~> 1.1)
- FirebaseAuthInterop (1.0.0)
- FirebaseCore (6.2.3):
- FirebaseCoreDiagnostics (~> 1.0)
- FirebaseCoreDiagnosticsInterop (~> 1.0)
- GoogleUtilities/Environment (~> 6.2)
- GoogleUtilities/Logger (~> 6.2)
- FirebaseCoreDiagnostics (1.0.1):
- FirebaseCoreDiagnosticsInterop (~> 1.0)
- GoogleDataTransportCCTSupport (~> 1.0)
- GoogleUtilities/Environment (~> 6.2)
- GoogleUtilities/Logger (~> 6.2)
- FirebaseAnalyticsInterop (~> 1.3)
- FirebaseCore (~> 6.2)
- FirebaseInstanceID (~> 4.1)
- GoogleUtilities/AppDelegateSwizzler (~> 6.2)
- GoogleUtilities/Environment (~> 6.2)
- GoogleUtilities/Reachability (~> 6.2)
- GoogleUtilities/UserDefaults (~> 6.2)
- Protobuf (~> 3.1)
- FirebaseStorage (3.4.1):
- FirebaseAuthInterop (~> 1.0)
- FirebaseCore (~> 6.0)
- GTMSessionFetcher/Core (~> 1.1)
解决方案
我不确定发生了什么,但我注销了,关闭了 Xcode,删除了模拟器,删除了派生数据,重新启动了我的 cpu,重新启动了一切并重新登录。它现在可以工作了。
在模拟器上一定有某种方式的某种腐败。如果有人遇到这个奇怪的问题,请按照上述步骤操作。
推荐阅读
- docker - 在 Marathon 和 Mesos 旁边运行 Hadoop
- python - 如何在 python 3.5 及更高版本中将奇数长度的十六进制字符串转换为字节格式?
- forms - 在 ms 访问中提交表单时链接表未更新
- python - QProcess的子进程如何接收父进程的数据
- posix - posix_spawn 返回代码 14“错误地址”是什么意思?
- excel - 按名称查找列标题并将所有数据移动到列标题下方(Excel-VBA)
- javascript - 如何使用 mobx 将承诺输出作为道具传递
- c - 程序不等待文本输入
- flask - 计算列表中匹配条件的项目数,jinja/flask
- shell - 如何在 shell 脚本中以任意顺序接受参数