方法通道
一个简单的 Flutter 插件包装了方法通道,以便在后台执行。
1 为什么需要方法通道包装器
1.1 简而言之
- 当应用程序终止时,直接使用后台 Flutter Engine 调用方法通道会导致
MissingPluginException(No implementation found for method echo on channel com.presence.test_channel),但在插件中(已正确注册),一切都会顺利进行。
1.2 深层原因
1.3 如何重现
-
当前存储库的示例项目旨在重现此问题
步骤 1:在 XCode 中打开
example/ios/Runner.xcworkspace步骤 2:在设备(模拟器或真实设备)上启动Runner目标 步骤 3:点击Debug/Simulate Background Fetch,example/lib/main.dart.callbackDispatcher将由原生代码调用,您将在 XCode 控制台中看到错误。
1.4 如何解决
将您的方法通道调用包装在插件中(如本项目),并正确注册它。
入门
本项目是一个 Flutter 插件包的起点,该包包含 Android 和/或 iOS 的平台特定实现代码。
有关 Flutter 开发入门的帮助,请参阅 在线文档,其中提供了教程、示例、有关移动开发的指南和完整的 API 参考。