Flutter 新行为:通道在非平台线程上从本机向 Flutter 发送消息

wjm*_*iii 6 xcode ios-multithreading flutter

MacOS Sonoma 14.0、iOS 17.0、Xcode 15。应用程序部署到手机。按下应用程序上的某个按钮,它就会弹出一条消息,我刚刚开始看到这条消息,但不知道如何解决。

\n

“[VERBOSE-2:shell.cc(1004)] \'dev.fluttercommunity.plus/sensors/accelerometer\' 通道在非平台线程上从本机向 Flutter 发送了一条消息。平台通道消息必须在平台线程。不这样做可能会导致数据丢失或崩溃,并且必须在创建该通道的插件或应用程序代码中进行修复。”

\n

“[VERBOSE-2:shell.cc(1004)] \'dev.fluttercommunity.plus/sensors/gyrscope\' 通道在非平台线程上从本机向 Flutter 发送了一条消息。平台通道消息必须在平台线程。不这样做可能会导致数据丢失或崩溃,并且必须在创建该通道的插件或应用程序代码中进行修复。”

\n

正在下载 darwin-arm64/font-subset 工具... 79ms\n[\xe2\x9c\x93] Flutter(频道稳定,3.13.6,在 macOS 14.0 23A344 darwin-arm64,区域设置 en-US)\n\xe2\ x80\xa2 Flutter 版本 3.13.6 稳定在 /Users/wjmetcalfiii/Downloads/flutter\n\xe2\x80\xa2 上游存储库https://github.com/flutter/flutter.git \n\xe2\x80\ xa2 框架修订版 ead455963c(2 周前),2023-09-26 18:28:17 -0700\n\xe2\x80\xa2 引擎修订版 a794cf2681\n\xe2\x80\xa2 Dart 版本 3.1.3\n\xe2 \x80\xa2 开发工具版本 2.25.0

\n

[\xe2\x9c\x93] Android 工具链 - 为 Android 设备开发(Android SDK 版本 34.0.0)\n\xe2\x80\xa2 Android SDK,位于 /Users/wjmetcalfiii/Library/Android/sdk\n\xe2\x80 \xa2 平台 android-34,构建工具 34.0.0\n\xe2\x80\xa2 Java 二进制文件位于:/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java\n\xe2\x80 \xa2 Java 版本 OpenJDK 运行时环境(内部版本 17.0.6+0-17.0.6b829.9-10027231)\n\xe2\x80\xa2 接受所有 Android 许可证。

\n

[\xe2\x9c\x93] Xcode - 为 iOS 和 macOS 开发 (Xcode 15.0)\n\xe2\x80\xa2 Xcode,位于 /Applications/Xcode.app/Contents/Developer\n\xe2\x80\xa2 Build 15A240d\ n\xe2\x80\xa2 CocoaPods 版本 1.13.0

\n

[\xe2\x9c\x93] Chrome - 为网络开发\n\xe2\x80\xa2 Chrome,位于 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

\n

[\xe2\x9c\x93] Android Studio(版本 2022.3)\n\xe2\x80\xa2 Android Studio 位于 /Applications/Android Studio.app/Contents\n\xe2\x80\xa2 Flutter 插件可以从以下位置安装:\ n https://plugins.jetbrains.com/plugin/9212-flutter \n\xe2\x80\xa2 Dart 插件可以从以下位置安装:\n https://plugins.jetbrains.com/plugin/6351-dart \n \xe2\x80\xa2 Java 版本 OpenJDK 运行时环境(内部版本 17.0.6+0-17.0.6b829.9-10027231)

\n

[\xe2\x9c\x93] VS 代码(版本 1.82.0)\n\xe2\x80\xa2 VS 代码位于 /Users/wjmetcalfiii/Downloads/Visual Studio Code 2.app/Contents\n\xe2\x80\xa2颤振扩展版本 3.72.0

\n

[\xe2\x9c\x93] VS Code(版本 1.81.1)\n\xe2\x80\xa2 VS Code 位于 /Users/wjmetcalfiii/Downloads/Visual Studio Code.app/Contents\n\xe2\x80\xa2 Flutter扩展版本 3.72.0

\n

[\xe2\x9c\x93] 连接的设备(3 个可用)\n\xe2\x80\xa2 William\x​​e2\x80\x99s iPhone(移动)\xe2\x80\xa2 00008120-000C4C3111A2201E \xe2\x80\xa2 ios \ xe2\x80\xa2 iOS 17.0.3 21A360\n\xe2\x80\xa2 macOS(桌面) \xe2\x80\xa2 macos \xe2\x80\xa2 darwin-arm64 \xe2\x80\xa2 macOS 14.0 23A344 darwin-arm64 \n\xe2\x80\xa2 Chrome(网络)\xe2\x80\xa2 chrome \xe2\x80\xa2 web-javascript \xe2\x80\xa2 Google Chrome 117.0.5938.149

\n

[\xe2\x9c\x93] 网络资源\n\xe2\x80\xa2 所有预期的网络资源均可用。

\n

我对这个一拍即合。没有意识到我必须如此快地进入线程模型。其他人也报告了同样的事情。很高兴看到有一个 ios-multithreading 标签,所以嘿,祈祷吧。

\n