Flutter Cloud Firestore не удается вызвать getDocuments () на iOS - PullRequest
0 голосов
/ 15 марта 2019

У меня проблема с получением некоторых данных из Cloud Firestore в моем проекте флаттера.Код выглядит следующим образом:

  void test () async {
    var data = await Firestore.instance.collection("markers").getDocuments();
    print("${data.documents.length}");
  }

Тем не менее, на консоли я получаю следующее:

[VERBOSE-2:shell.cc(178)] Dart Error: Unhandled exception:
NoSuchMethodError: The method '[]' was called on null.
Receiver: null
Tried calling: []("documents")
#0      Object.noSuchMethod (dart:core/runtime/lib/object_patch.dart:50:5)
#1      new QuerySnapshot._ (file:///Users/jacobpyke/Development/flutter/v1/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.9.6/lib/src/query_snapshot.dart:10:57)
#2      Query.getDocuments (file:///Users/jacobpyke/Development/flutter/v1/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.9.6/lib/src/query.dart:100:26)
<asynchronous suspension>
#3      HomePage.test (package:KaffeeBar/screens/home/home_page.dart:39:63)
<asynchronous suspension>
#4      HomePage.build (package:KaffeeBar/screens/home/home_page.dart:45:5)
#5      StatelessElement.build (package:flutter/src/widgets/framework.dart:3788:28)
#6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3735:15)
#7      Element.rebuild (package:flutter/src/widgets/fra<…>

Это просто показалось мне странной ошибкой.Скриншот моей структуры пожарного депо можно увидеть здесь: https://imgur.com/a/SeYYlGY

enter image description here

И да, внутри документа есть данные, поэтому он не должен возвращать Nullиз-за отсутствия данных.

Любая помощь приветствуется!

РЕДАКТИРОВАТЬ: Кроме того, по всему моему приложению Firestore, кажется, перестал работать.В некоторых областях он все еще работает нормально, однако в некоторых других он возвращает нулевые значения

EDIT2: кажется, я пытался скомпилировать приложение на Android, и оно не компилируется из-за плагинов Firebase.

Note: /Users/jacobpyke/Development/flutter/v1/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.3.1+1/android/src/main/java/io/flutter/plugins/firebase/core/FirebaseCorePlugin.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: /Users/jacobpyke/Development/flutter/v1/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-4.0.0+1/android/src/main/java/io/flutter/plugins/firebasemessaging/FlutterFirebaseInstanceIDService.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
/Users/jacobpyke/Development/flutter/v1/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_performance-0.1.0+4/android/src/main/java/io/flutter/plugins/firebaseperformance/FirebasePerformancePlugin.java:71: error: cannot access zzf
    trace.start();
         ^
  class file for com.google.android.gms.internal.firebase-perf.zzf not found
Note: /Users/jacobpyke/Development/flutter/v1/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_performance-0.1.0+4/android/src/main/java/io/flutter/plugins/firebaseperformance/FirebasePerformancePlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

РЕДАКТИРОВАТЬ 3: После компиляции приложения, оно прекрасно работает на Android.Так что, возможно, что-то не так с базой данных GoogleInfo-Service.plst

1 Ответ

0 голосов
/ 16 марта 2019

Оказывается, эта проблема была частью ошибки в плагине Cloud Firestore для Flutter.Таким образом, эта проблема была решена с момента обновления 0.9.7.Чтобы решить эту проблему, обновите подключаемый модуль облачного пожарного хранилища в вашем файле pubspec.yaml до cloud_firestore: ^0.9.7 и запустите flutter packages get Источник можно найти здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...