Необработанное исключение: MissingPluginException (Реализация для метода getAll не найдена в плагинах канала. Flutter.io/ для многих пакетов на Flutter - PullRequest
1 голос
/ 05 мая 2020

Я получаю следующую ошибку, когда запускаю свое приложение флаттера на IOS, но работает на android:

Необработанное исключение: MissingPluginException (Реализация для метода DocumentReference # setData на канале не найдена plugins.flutter.io/cloud_firestore)

Необработанное исключение: MissingPluginException (Реализация для метода getAll на канале plugins.flutter.io/shared_preferences не найдена )

1 Ответ

1 голос
/ 05 мая 2020

Я следил за этим: https://github.com/flutter/flutter/issues/10912

Более конкретно, для шага 4 я использовал Kotlin версию Flutter на Swift. Когда я настраивал Firebase, я случайно скопировал код инициализации, который был дан мне в Firebase для нового приложения IOS, чего мы не должны были делать для Flutter. В итоге я создал новый проект Flutter, скопировав ios / Runner / AppDelegate.swift в тот же каталог в моем проекте flutter.

import UIKit
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    GeneratedPluginRegistrant.register(with: self)

    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}


Для IOS с использованием Objective C вы должны скопировать файл AppDelegate.m в каталоге ios / Runner / AppDelegate.m

Для Android с использованием Java скопируйте файл MainActivity. java. Для Android с использованием Kotlin скопируйте файл MainActivity.kt.

Каталог для android: android / app / src / main / kotlin / com / example / {ВАШЕ ИМЯ ПРИЛОЖЕНИЯ} /MainActivity.java или MainActivity.kt

...