Flutter 代码运行在 Chrome 上的时候报错 “Caught error: Unsupported operation: Platform._operatingSystem”。
报错的原因是因为代码中使用了 Platform.isIOS、Platform.isAndroid 等函数判断系统类型,可惜的是,这些函数并不能在 Chrome 上运行。
修改方法就是自己封装一个自定义工具类,先使用 kIsWeb 排除一下浏览器。参考如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import 'dart:io'; import 'package:flutter/foundation.dart'; class PlatformKit { /// 是否是移动设备,如果系统是 Android 、iOS 则返回 true 否则返回 false static bool isMobile() { return (!kIsWeb) && (Platform.isAndroid || Platform.isIOS); } /// 是否是macOS,如果系统 macOS 则返回 true 否则返回 false static bool isMacOS() { return (!kIsWeb) && Platform.isMacOS; } } |