私のFlutterアプリケーションはFlutter SharedPreferencesプラグインを使用して、platform.invokeMethodでiOS側に値を送信します。アプリケーションを起動すると、次のエラーが発生します。
[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)
IOS側に値を送信する関数にコメントを付けると、エラーが表示されず、SharedPreferencesが機能します。
誰かが私を助けることができますか?
私の場合、アプリケーションの再インストールは機能しませんでした。
代わりに、AppDelegate.m
ファイルパス ios/runner/AppDelegate.m
:
#include "AppDelegate.h"
#include "GeneratedPluginRegistrant.h"
@import Firebase;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[FIRApp configure];
[GeneratedPluginRegistrant registerWithRegistry:self];
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
@end
次に、デバイスからアプリケーションを削除し、アプリケーションを再度実行します。
上記の回答が機能しない場合は、これが役立つかもしれません。 Android studio flutterプロジェクトを作成しているときに、Android/Swift support for iOS。フラッターをクリーンにしてフラッターを実行した後、プロジェクトが機能しなくなったためです。