问题
My Flutter application uses the Flutter SharedPreferences plugin and send values to the iOS side with platform.invokeMethod. If I start the application, I have this error:
[VERBOSE-2:dart_error.cc(16)] Unhandled exception:
MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences)
#0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:278:7)
<asynchronous suspension>
#1 SharedPreferences.getInstance (package:shared_preferences/shared_preferences.dart:25:27)
<asynchronous suspension>
#2 main (file:///Users/Developer/workspace/flutter-app/q_flutter2/lib/main.dart:25:53)
<asynchronous suspension>
#3 _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:279:19)
#4 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)
If I comment the function to send the value to iOS side, the error is not displayed and the SharedPreferences is working.
Someone can help me?
回答1:
No implementation found for method getAll on channel plugins.flutter.io __the above will occurs when you setup the plugin for the first time, so it has to be reinstalled ...
Do uninstall and reInstal your application....
回答2:
Check AppDelegate. Channel registration should be after plugins registration
...
@objc class AppDelegate: FlutterAppDelegate {
override func application(
...
GeneratedPluginRegistrant.register(with: self)
channel = FlutterMethodChannel.init(name: "dressme.lofesdev.com/geo",
binaryMessenger: controller);
...
来源:https://stackoverflow.com/questions/50687801/flutter-unhandled-exception-missingpluginexceptionno-implementation-found-for