【问题标题】:I/flutter (22027): MissingPluginException(No implementation found for method DocumentReference#setData on channel plugins.flutter.io/cloud_firestore)I/flutter (22027):MissingPluginException(在通道 plugins.flutter.io/cloud_firestore 上找不到方法 DocumentReference#setData 的实现)
【发布时间】:2020-05-11 18:25:49
【问题描述】:
Future<void> _getUserData() async {
  final database = Firestore.instance;
  try {
    FirebaseUser _currentUser = await FirebaseAuth.instance.currentUser();
    String authid =_currentUser.uid;
    String email = _currentUser.email;
    Map<String, String> userData = {
      'AuthUserId':'$authid',
      'Email':'$email',
      'FullName': '',
      'MobileNum': '',
      'Address': '',
      'City/Village': '',
      'District': '',
      'State': '',
      'PinCode': '',
    };
   database.collection('UserData').add(userData).catchError((e) {
     print(e);
    });
 } catch (e) {
    print(e);
 }
}
@override
void initState() {
    super.initState();
    _getUserData();
  }

“我正在尝试将数据插入云 Firestore,并且我在 initState() 中调用了此函数,但我遇到了错误,正如我上面提到的那样

【问题讨论】:

    标签: firebase flutter dart google-cloud-firestore


    【解决方案1】:

    我试过了,对我有帮助

    flutter clean
    flutter packages get
    

    稍后,卸载应用程序并尝试重新安装它✌?

    【讨论】:

      【解决方案2】:

      确保您使用的是最新的cloud_firestore 版本。然后执行:

      flutter clean
      flutter packages get
      

      更新,从cloud_firestore 0.14.0 版开始:

      setData() 已替换为 set()。其他有用的链接:

      The getter 'instance' isn't defined for the type 'Firestore'

      【讨论】:

      • 我有最新的 cloud_firestrore,我做了和你提到的一样的事情,但是在更新颤振之后它在正常工作之前发生了
      • 你用的是什么flutter版本?
      • Flutter 1.12.13+hotfix.5 • 通道稳定 • github.com/flutter/flutter.git 框架 • 修订版 27321ebbad(7 周前) • 2019-12-10 18:15:01 -0800 引擎 • 修订版 2994f7e1e6 工具• Dart 2.7.0
      • 你关闭 ide 了吗?
      • @Bawantha 在您的 pubspec.yaml 和解释中添加另一个问题,并将其添加到评论中,以便我可以检查,还有您的 build.gradle
      【解决方案3】:

      如果您正在使用 Visual Studio Code 并在 IOS 模拟器上运行您的项目,那么它可能无法正常工作。您可以从 Xcode 运行您的项目,它不会出现任何问题,您必须打开 .xcworkspace 文件。

      【讨论】:

        【解决方案4】:

        我的问题是在我使用上一页中的 firestore 后编辑 firebase 实例设置引起的,你无法做到这一点,并且在我删除此文件夹之前它没有给我正确的错误

        %AppData%\Local\Pub\Cache\hosted\pub.dartlang.org\firebase_core_platform_interface-2.0.0
        

        然后它正确地给了我错误,所以我只是在 main.dart 中应用了设置

        Widget build(BuildContext context) 
        {
           return FutureBuilder(
              future: Firebase.initializeApp(),
              builder: (context, snapshot) 
              {
                 if (snapshot.hasError) {
                    return Text('error');
                 }
        
                 if (snapshot.connectionState == ConnectionState.done) {
                    FirebaseFirestore.instance.settings = Settings(
                    persistenceEnabled: true,
                    cacheSizeBytes: Settings.CACHE_SIZE_UNLIMITED,
                    );
        
                  return MaterialApp(....
                 }
              }
           );
        }
        

        【讨论】:

          【解决方案5】:

          停止正在运行的应用程序并重新运行。这可能是因为您在应用程序已经在调试模式下运行时添加了 firestore 依赖项。在这种情况下,如果您调用新添加的依赖项的方法,热重载或重启将不起作用。您必须停止正在运行的应用程序并重新运行。 (这解决了我的问题)。

          在重新运行之前执行此操作。 - 扑干净 - 颤振包获取

          【讨论】:

            【解决方案6】:

            就我而言,我执行了以下步骤:

            flutter clean
            flutter packages get
            

            卸载应用

            更新:/android/app/build.gradle

            defaultConfig {
                ...
                multiDexEnabled true
            }
            

            再次运行。

            希望对你有帮助

            【讨论】:

              【解决方案7】:

              我关闭了 IDE (Android Studio) 并执行了flutter clean。之后我重新启动了 IDE 并创建了一个新的 AVD。 MissingPluginException 在那之后消失了,我遇到了以下错误:

              D8: Cannot fit requested classes in a single dex file
              

              我修复了在 /android/app/build.gradle 中将 multiDexEnabled true 添加到 defaultConfig 的问题

              defaultConfig {
                  ...
                  multiDexEnabled true
              }
              

              我不知道这是否与您的问题有关,但这就是我解决错误的方法。

              【讨论】:

                猜你喜欢
                • 2021-02-01
                • 1970-01-01
                • 2020-10-20
                • 2020-04-14
                • 2021-07-18
                • 2021-04-23
                • 2020-12-09
                • 2019-09-06
                相关资源
                最近更新 更多