SwiftUI Firebase Auth报错:路径不得包含//,登录后崩溃
问题分析与解决办法
- 问题根源:你代码里的
user.UID实际拿到的是Firebase Auth验证流程中的deep link地址,而非用户真实UID。这个地址包含//,违反Firestore文档路径的命名规则,直接导致了崩溃。 - 解决步骤:
- 修正UID获取逻辑,从Firebase Auth的当前用户对象中正确提取UID:
guard let currentUser = Auth.auth().currentUser else { // 处理用户未登录的情况 return } let userUid = currentUser.uid // 注意Firebase Auth的UID属性是小写的uid - 检查你获取
user对象的流程,排查是否在处理Auth回调时错误地将deep link参数赋值给了user.UID。 - 确保执行Firestore操作前,用户已完成登录,且获取到的UID是合法字符串(无
//等特殊字符)。
- 修正UID获取逻辑,从Firebase Auth的当前用户对象中正确提取UID:
- 快速验证:调用Firestore前打印
user.UID的值,确认其格式是否为Firebase用户UID(通常是一串无特殊符号的随机字符串)。
内容的提问来源于stack exchange,提问作者GianlucaA
相关产品推荐
相关产品推荐

