【问题标题】:Flutter cannot find a native iOS implementation of methodFlutter 找不到方法的原生 iOS 实现
【发布时间】:2020-09-10 16:34:15
【问题描述】:

我尝试从 Flutter 插件的 Swift 端返回一个字符串到 Dart 端:

public class SwiftAMPlugin: NSObject, FlutterPlugin {

    public static func register(with registrar: FlutterPluginRegistrar) {
        let channel = FlutterMethodChannel(name: "aM", binaryMessenger: registrar.messenger())
        let instance = SwiftAMPlugin()
        registrar.addMethodCallDelegate(instance, channel: channel)
    }

    private func getStr(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        result("test");
    }

    public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        switch (call.method) {
        case "getStr":
            getStr(call, result: result);
            break;
        default:
            result(false);
        }
    }
}

飞镖方面:

static Future<String> getStr() async {
  try {
      return await _channel.invokeListMethod('getStr');
  } catch(e, s) {
      print(e);
      print(s);
  }
}

但它在getStr 调用时崩溃并出现错误:

2020-05-24 00:05:17.547324+0300 Runner[4146:2064989] flutter: MissingPluginException(No implementation found for method getStr on channel aM)
2020-05-24 00:05:17.552161+0300 Runner[4146:2064989] flutter: #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:154:7)

我有一个类似的 Android 实现,它运行良好。

问题可能出在哪里?

P.S. Flutter 中的 Imma noobie,也许我需要在某处描述我的原生方法实现?现在我只有switch 块来查找所需的方法。

【问题讨论】:

    标签: ios swift flutter dart flutter-plugin


    【解决方案1】:

    @Шах 你检查过你pubspec.yaml吗?您应该有一个 iOS 条目,如下所示:

    plugin:
        platforms:
          ios: 
            package: com.domain.my_lib
            pluginClass: MyPlugin
          android: 
            package: com.domain.my_lib
            pluginClass: MyPlugin
          
    

    确保它是正确的类和正确的包。然后执行flutter cleanflutter run

    【讨论】:

    • 很遗憾,它没有帮助
    猜你喜欢
    • 2020-03-26
    • 2020-03-26
    • 2020-12-15
    • 2019-02-17
    • 2020-10-11
    • 1970-01-01
    • 2021-03-30
    • 1970-01-01
    • 2021-02-03
    相关资源
    最近更新 更多