Откат к загрузке токена доступа из NSUserDefaults из-за ошибки симулятора во флаттере - PullRequest
2 голосов
/ 24 июня 2019

Я устал отлаживать эту проблему, но если быть точным, я не могу найти идеального решения для этого.

Раньше мое приложение работало без сбоев, но теперь я получаю эту ошибку при входе в свою учетную запись.

Возможная проблема: Это что-то с проблемой Firebase, но симулятор не может сохранить accessToken в симуляторе.

Я следил за этими вопросами:

  1. Откат к загрузке / хранению токена доступа из NSUserDefaults из-за ошибки симулятора
  2. Откат к загрузке токена доступа из NSUserDefaults из-за ошибки симулятора

Теперь мое приложение работает нормально, проблема возникает, когда я пытаюсь войти в систему. Я видел решение, но ничего не работает для меня согласно вышеуказанным исследованиям.

То, что я сделал до сих пор:

  1. Перезапустил приложение
  2. Перезапустил мою систему и попытался запустить приложение
  3. Изменены версии FIREBASE_CORE и FIREBASE_AUTH в моем pubspec.yaml файле
  4. Переустановил XCode. Та же проблема
  5. Это пакеты flutter firebase в моем файле pubspec.yaml
    • firebase_core: ^ 0.3.0
    • firebase_auth: ^ 0.8.0

Со всем этим ничего не получалось. Ошибка, кажется, является последовательной.

Код для входа в систему:

final AuthCredential credential = EmailAuthProvider.getCredential(email: this.email.text, password: this.password.text);
this._auth.signInWithCredential(credential).then((user) async {
}, onError: (e){
   Helpers.showError(context, (e as PlatformException).message);
});

Ошибка:

1. При первом запуске приложения:

Launching lib/main.dart on iPhone 7 in debug mode...
Running Xcode build...                                                  

 ├─Assembling Flutter resources...                           4.1s
 └─Compiling, linking and signing...                         7.0s
Xcode build done.                                           14.5s
Configuring the default Firebase app...
5.20.0 - [Firebase/Core][I-COR000004] App with name __FIRAPP_DEFAULT does not exist.
Configured the default Firebase app __FIRAPP_DEFAULT.
Falling back to loading access token from NSUserDefaults because of simulator bug
Falling back to storing access token in NSUserDefaults because of simulator bug
Falling back to loading access token from NSUserDefaults because of simulator bug
Falling back to storing access token in NSUserDefaults because of simulator bug
Falling back to loading access token from NSUserDefaults because of simulator bug
Falling back to storing access token in NSUserDefaults because of simulator bug
5.20.0 - [Firebase/Analytics][I-ACS023007] Analytics v.50801000 started
5.20.0 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled
flutter: in the main builder
flutter: in the init page state                                         
flutter: building the init page                                         
    "LocalUploadTask <A98F1971-4A48-4CDD-8658-567C6E24AE0E>.<1>"        
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalUploadTask <A98F1971-4A48-4CDD-8658-567C6E24AE0E>.<1>, NSLocalizedDescription=cancelled} [-999]
<Google/Utilities/Network/ERROR> Encounter network error. Code, error: -999, Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLStringKey=https://play.googleapis.com/log, NSErrorFailingURLKey=https://play.googleapis.com/log, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalUploadTask <A98F1971-4A48-4CDD-8658-567C6E24AE0E>.<1>"        
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalUploadTask <A98F1971-4A48-4CDD-8658-567C6E24AE0E>.<1>, NSLocalizedDescription=cancelled}
5.20.0 - [GULNetwork][I-NET901017] <Google/Utilities/Network/ERROR> Encounter network error. Code, error: -999, Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLStringKey=https://play.googleapis.com/log, NSErrorFailingURLKey=https://play.googleapis.com/log, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalUploadTask <A98F1971-4A48-4CDD-8658-567C6E24AE0E>.<1>"        
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalUploadTask <A98F1971-4A48-4CDD-8658-567C6E24AE0E>.<1>, NSLocalizedDescription=cancelled}
        [C3.1.1 06A394ED-7FAF-45F0-ACCA-755A5E942EB5 ::1.56091<->::1.8080]
        Connected Path: satisfied (Path is satisfied), interface: lo0   
        Duration: 1.659s, DNS @0.005s took 0.013s, TCP @0.038s took 0.001s, TLS took 0.316s
        bytes in/out: 3907/808, packets in/out: 10/9, rtt: 0.000s, retransmitted packets: 0, out-of-order packets: 0


Your Facebook SDK is out of date. We recommend upgrading to the latest Version 4.37.0, to ensure your app's performance is not affected and to take advantage of our newest features!

Facebook SDK for iOS: https://developers.facebook.com/docs/ios/         
Facebook SDK for Android: https://developers.facebook.com/docs/android/ 
        [C2.1.1 D009F134-D0FD-41DF-BCB2-713CBD8875DF ::1.56090<->::1.8080]
        Connected Path: satisfied (Path is satisfied), interface: lo0   
        Duration: 1.729s, DNS @0.005s took 0.023s, TCP @0.037s took 0.014s, TLS took 0.295s
        bytes in/out: 4353/1054, packets in/out: 10/9, rtt: 0.000s, retransmitted packets: 0, out-of-order packets: 0
5.20.0 - [Firebase/Core][I-COR000020] Error posting to Clearcut: Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLStringKey=https://play.googleapis.com/log, NSErrorFailingURLKey=https://play.googleapis.com/log, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalUploadTask <A98F1971-4A48-4CDD-8658-567C6E24AE0E>.<1>"        
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalUploadTask <A98F1971-4A48-4CDD-8658-567C6E24AE0E>.<1>, NSLocalizedDescription=cancelled}, with Status Code: 0
flutter: building the init page                                         
flutter: building the init page                                         
        [C4.1.1 09BF4681-8112-4F65-84AA-824DC0C0F7A3 ::1.56101<->::1.8080]
        Connected Path: satisfied (Path is satisfied), interface: lo0   
        Duration: 0.622s, DNS @0.003s took 0.002s, TCP @0.020s took 0.001s, TLS took 0.148s
        bytes in/out: 3761/1543, packets in/out: 9/10, rtt: 0.000s, retransmitted packets: 0, out-of-order packets: 0
flutter: Calling GET API: /init                                         
Syncing files to device iPhone 7...                                     
flutter: {token: null, is_user_active: false, user: null}       
Syncing files to device iPhone 7...                                                          4,586ms (!)

2. Когда я пытаюсь войти в систему:

Challenge SecTrustResultType 5 for www.googleapis.com, properties: (
        {
        type = error;
        value = "Root certificate is not trusted.";
    }
)
Cancelling authentication challenge for https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=XXXXXXXXXXXXXXXXXXXXXX
    "LocalDataTask <A48A2557-0E1B-4F61-8E54-B319538559DA>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <A48A2557-0E1B-4F61-8E54-B319538559DA>.<1>, NSLocalizedDescription=cancelled} [-999]

3. Броски огненной базы:

Network error (such as timeout, interrupted connection or unreachable host) has occurred

Доктор Флаттер:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, v1.7.9-pre.9, on Mac OS X 10.14.5 18F132, locale en-US)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 10.0)
[✓] iOS tools - develop for iOS devices
[✓] Chrome - develop for the web
[!] Android Studio (version 3.4)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] Connected device (3 available)

! Doctor found issues in 1 category.

Пожалуйста, помогите, потому что я не могу улучшить свой dev, поскольку вход в систему является обязательной функцией, без этого я не могу войти в свое приложение и начать работать над dev. Спасибо :)

РЕШЕНИЕ:

Я много чего пробовал, но с моей командой я кое-что понял, и это было что-то с версией пакета Firebase. За то, что я сделал, было:

  1. Сделать новый проект полностью
  2. Подключите его к базе огня
  3. Использовать текущую версию firebase_auth 0.8.3
  4. И запустите проект, и убедитесь, что ваш логин работает
  5. Когда вы закончите, запустите старый проект и посмотрите, как он будет работать.

Возможно, пакеты обычно хранятся в одном файле для всех проектов, поэтому выполнение cat .packages даст вам идею.

Спасибо и счастливого обучения !!!

...