繁体   English   中英

从未设置 Firebase 电话身份验证验证 ID。 (颤振iOS)

[英]Firebase Phone Auth verificationId never being set. (Flutter iOS)

好的,希望是快速的问题,但由于某些原因,在我当前的项目中,从 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);

}

我确实看到了电话号码的打印(无论用户输入什么电话号码),但输出日志只显示:

颤振:创建验证码:5555555555 颤振:空

这意味着永远不会调用 smsCodeSent 函数。 任何想法为什么?

(Flutter Doctor 的结果如下)

[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.15.2 19C57, locale en-CA) • Flutter version 1.12.13+hotfix.5 at /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 at /Applications/Android Studio.app/Contents • Flutter 插件版本 42.1.1 • Dart 插件版本 191.8593 • Java 版本 OpenJDK 运行时环境(构建 1.8.0_202-release-1483- b49-5587405)

[✓] VS Code(版本 1.41.1) • VS Code 位于 /Applications/Visual Studio Code.app/Contents • Flutter 扩展版本 3.7.1

[✓] 已连接设备(1 个可用) • iPhone Xʀ • E901CA1F-553F-41E6-864D-57E151B3F39F • ios • com.apple.CoreSimulator.SimRuntime.iOS-12-2(模拟器)

好吧,我找到了我的问题的解决方案。 显然,iOS 存在一个问题,即它拒绝将模拟器视为真实设备,因此无法正确遵循使用 firebase 的实际身份验证流程。

因此,对于遇到类似问题的任何人,请确保您在实际设备上进行 firebase_auth 测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM