Xcode 在 flutter 项目中编写 ios 本机 swift 代码时出现错误 'FlutterViewController' 类型的值没有成员 'binaryMessenger'

Xcode giving error Value of type 'FlutterViewController' has no member 'binaryMessenger' when writing ios native swift code in flutter project

我用command做了一个flutter项目

flutter create -i swift myProject

然后我将目录更改为 myProject cd 我的项目 然后我 运行 吊舱设置。 它 运行 很快,但是当我根据此处的教程将代码添加到 ios/Runner/Runner 目录中的 AppDeligate.swift 时:

https://flutter.dev/docs/development/platform-integration/platform-channels

这是我的 AppDeligate.swift:

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

let controller : FlutterViewController = window?.rootViewController as! FlutterViewController
  let batteryChannel = FlutterMethodChannel(name: "samples.flutter.dev/battery",
                                            binaryMessenger: controller.binaryMessenger)
  batteryChannel.setMethodCallHandler({
    (call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in
    // Note: this method is invoked on the UI thread.
    // Handle battery messages.
      })

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

我遇到错误 "Value of type 'FlutterViewController' has no member 'binaryMessenger'"

我是不是漏掉了什么?

更改此行

let batteryChannel = FlutterMethodChannel(name: "samples.flutter.dev/battery",
                                        binaryMessenger: controller.binaryMessenger)

至 ->

let batteryChannel = FlutterMethodChannel(name: "samples.flutter.dev/battery",
                                        binaryMessenger: controller as! FlutterBinaryMessenger)

在最新的 flutter 升级中已更改。