Flutter 2.10.4应用Android运行正常iOS启动卡白屏无法运行
问题定位
iOS端启动白屏的核心原因是启动阶段未捕获的平台调用异常:main.dart第19行无平台判断,直接在iOS环境调用仅安卓端实现的getAndroidDeviceInfo方法,抛出MissingPluginException后Dart执行流程中断,应用无法完成初始化渲染。
日志中其余Metal API开启提示、Firebase未配置提示、网络连接回调注册失败提示均为非阻断性提示,不会导致白屏。
核心报错栈关键信息:
Unhandled Exception: MissingPluginException(No implementation found for method getAndroidDeviceInfo on channel plugins.flutter.io/device_info) #4 main (package:backyardcart/main.dart:19:21)
修复步骤
- 修正设备信息调用逻辑,增加平台判断,iOS端调用对应iOS专属的设备信息获取方法,错误写法和正确写法参考如下:
import 'dart:io'; import 'package:device_info/device_info.dart'; // 错误写法(当前问题代码) // final DeviceInfoPlugin deviceInfo = DeviceInfoPlugin(); // final AndroidDeviceInfo info = await deviceInfo.androidInfo; // 正确写法 final DeviceInfoPlugin deviceInfo = DeviceInfoPlugin(); if (Platform.isAndroid) { final AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo; // 安卓端设备信息处理逻辑 } else if (Platform.isIOS) { final IosDeviceInfo iosInfo = await deviceInfo.iosInfo; // iOS端设备信息处理逻辑 }
- 清理构建缓存,重新安装依赖,执行如下命令:
flutter clean flutter pub get cd ios pod install --repo-update cd ..
- 重新编译运行iOS端应用,即可正常启动。
内容的提问来源于stack exchange,提问作者Sheikh Hassan Majeed
相关产品推荐
相关产品推荐

