Firebase 电话身份验证验证 ID 从未设置。 (颤振iOS)
Posted
技术标签:
【中文标题】Firebase 电话身份验证验证 ID 从未设置。 (颤振iOS)【英文标题】:Firebase Phone Auth verificationId never being set. (Flutter iOS) 【发布时间】:2020-04-19 13:17:57 【问题描述】:好的,希望是快速的问题,但由于某种原因,在我当前的项目中,从 firebase_auth 实际创建和设置我的 verifyId 的调用似乎从未被调用过。
涉及代码片段。
final PhoneCodeSent smsCodeSent = (String verID, [int forceCodeResent]) async
this.verificationId = verID;
print('Setting verificationId');
;
print('Creating Verification Code for: ' + this.phoneNumber);
await _auth.verifyPhoneNumber(
phoneNumber: this.phoneNumber,
codeAutoRetrievalTimeout: timeout,
codeSent: smsCodeSent,
timeout: const Duration(seconds: 20),
verificationCompleted: verificationComplete,
verificationFailed: verificationFailed,
);
print(this.verificationId);
我确实看到了电话号码的打印(无论用户输入什么电话号码),但输出日志只显示:
flutter:为:5555555555 创建验证码 颤振:空
意味着永远不会调用 smsCodeSent 函数。任何想法为什么?
(Flutter Doctor 后续结果)
[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.15.2 19C57, 语言环境 en-CA) • Flutter 版本 1.12.13+hotfix.5 位于 /Users/iosdev/Developer/flutter • 框架修订27321ebbad(3周前),2019-12-10 18:15:01 -0800 • 引擎版本 2994f7e1e6 • Dart 版本 2.7.0
[✓] android 工具链 - 为 Android 设备开发(Android SDK 版本 29.0.2) • Android SDK 位于 /Users/iosdev/Library/Android/sdk • 未配置 Android NDK 位置(可选;对本机分析有用 支持) • 平台 android-29,构建工具 29.0.2 • Java 二进制文件位于:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java 版本 OpenJDK 运行时环境(构建 1.8.0_202-release-1483-b49-5587405) • 接受所有 Android 许可证。
[✓] Xcode - 为 iOS 和 macOS 开发 (Xcode 10.2.1) • Xcode 位于 /applications/Xcode.app/Contents/Developer • Xcode 10.2.1,内部版本 10E1001 • CocoaPods 1.8.4 版
[✓] Android Studio(版本 3.5) • Android Studio 位于 /Applications/Android Studio.app/Contents • Flutter 插件版本 42.1.1 • Dart 插件版本 191.8593 • Java 版本 OpenJDK 运行时环境(构建 1.8.0_202-release-1483-b49-5587405)
[✓] VS 代码(版本 1.41.1) • /Applications/Visual Studio Code.app/Contents 中的 VS 代码 • Flutter 扩展版本 3.7.1
[✓] 已连接设备(1 个可用) • iPhone Xʀ • E901CA1F-553F-41E6-864D-57E151B3F39F • ios • com.apple.CoreSimulator.SimRuntime.iOS-12-2(模拟器)
【问题讨论】:
你试过用真实的电话号码代替 5555555 吗? 还没有,主要是因为这是一个iOS应用,我还没有苹果设备来测试它。不过,它在我要尝试的事情清单上,谢谢! 您不需要苹果设备,只需要一个有效的电话号码。代码被发送到给定的电话号码,反之亦然。 没错,从来没有想过...试过了,它肯定不会发送文本...所以至少我们知道这一点。我必须验证这是否是我设置的 firebase 控制台或其他问题。至少在某个地方可以看到,虽然我完全不确定它会解决问题,但我仍然感谢你的想法。 更新:在过去 3 天的工作后,设法摆脱了错误代码。 403 错误。 “来自此 iOS 客户端应用程序好吧,我找到了解决问题的方法。显然,iOS 存在一个问题,它拒绝将模拟器视为真实设备,因此无法正确遵循使用 firebase 的实际身份验证流程。
因此,对于遇到类似问题的任何人,请确保您在实际设备上进行 firebase_auth 测试。
【讨论】:
以上是关于Firebase 电话身份验证验证 ID 从未设置。 (颤振iOS)的主要内容,如果未能解决你的问题,请参考以下文章
我已经在 firebase 项目设置调试以及 playconsole 上添加了指纹,但是电话身份验证不起作用如何解决这个问题?