Firebase Auth发送OTP时出现17048 Token Mismatch错误求助
Firebase Auth 手机号OTP发送时17048 Token Mismatch错误排查方案
针对你更换新Mac后出现的17048 Token Mismatch错误,在已尝试的步骤之外,可按以下方向进一步排查:
重新获取并验证Firebase配置文件
新Mac上的项目可能存在配置文件不匹配问题,从Firebase控制台重新下载GoogleService-Info.plist替换项目中的旧文件,确保文件内的BUNDLE_ID、TEAM_ID与Xcode项目配置完全一致。检查推送证书与Provisioning Profile
- 在Keychain Access中确认已安装对应环境(开发/生产)的APNs推送证书,且证书未过期;
- 在Xcode的
Signing & Capabilities面板中,确认Provisioning Profile是重新生成的、包含推送权限的有效配置,同时Code Signing Identity选择正确的证书。
明确APN Token类型设置
当前代码中使用AuthAPNSTokenType.unknown可能导致环境不匹配,建议根据构建环境明确设置Token类型:func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { let firebaseAuth = Auth.auth() #if DEBUG firebaseAuth.setAPNSToken(deviceToken, type: .sandbox) #else firebaseAuth.setAPNSToken(deviceToken, type: .prod) #endif }清理Xcode缓存后重新构建
- 执行
Cmd+Shift+K清理项目; - 执行
Cmd+Option+Shift+K清理构建文件夹; - 删除Xcode的Derived Data(路径可在Xcode偏好设置->Locations中查看),之后重新构建并运行项目。
- 执行
验证Firebase控制台的Phone认证配置
登录Firebase控制台,进入项目的Auth->Sign-in method,确认Phone认证已启用,且对应iOS应用的Bundle ID、Team ID与本地项目配置一致。
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

