首页 > 解决方案 > flutter:如果禁用了应用代理调动,则 UIApplicationDelegate 收到的远程通知需要转发到 FIRAuth 的

问题描述

当我想使用带有 firebase 的 sms auth 时,该应用程序仅在 iOS 上失败

APN 证书已经在 firebase 上配置,FirebaseAppDelegateProxyEnabledInfo.plist. 在 verifyPhoneNumber 方法期间发生错误。

这里是flutter doctor

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel unknown, v1.7.0, on Mac OS X 10.14.5 18F132, locale en-PE)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)
[✓] iOS tools - develop for iOS devices
[✓] Android Studio (version 3.4)
[!] IntelliJ IDEA Ultimate Edition (version 2019.1)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.36.1)
[✓] Connected device (1 available)

这是我的代码

void sendSms(String fullNumber) {
    FirebaseAuth.instance.verifyPhoneNumber(
      phoneNumber: fullNumber,
      timeout: Duration(minutes: 1),
      verificationCompleted: (AuthCredential phoneAuthCredential) async {
        _smsController?.add('loading');
        FirebaseUser firebaseUser = await FirebaseAuth.instance
            .signInWithCredential(phoneAuthCredential);
        _verifyUser(firebaseUser);
      },
      verificationFailed: (err) {
        print(err.message);
        print(err.code);
        _smsController?.add('UNKNOWN_ERROR');
      },
      codeSent: (verificationId, [forceResendingToken]) {
        _verificationId = verificationId;
        _smsController?.add('code_sent');
      },
      codeAutoRetrievalTimeout: (verificationId) {},
    );
  }

和错误信息:

flutter: If app delegate swizzling is disabled, remote notifications received by UIApplicationDelegate need to be forwarded to FIRAuth's canHandleNotificaton: method.

flutter: verifyPhoneNumberError

标签: iosswiftfirebaseflutterfirebase-authentication

解决方案


解决方案 :

我在颤振存储库中找到了这个,目前可以使用。

将当前firebase_auth版本替换为

firebase_auth:
    git:
      url: https://github.com/collinjackson/plugins.git
      ref: 441417c2fed0ff26bf84a49ab2c5ffd2aa5487de
      path: packages/firebase_auth

推荐阅读