首页 > 解决方案 > 不支持的操作:Platform._operatingSystem

问题描述

我的颤振代码没有在网络上运行。

我发现“bool kisweb”可以用来检测平台。但我的代码在“FirebaseAuth.instance”处失败。这是否意味着我不能在网络上使用 Firebaseauth,因为它可能取决于 dart:io?

在调试模式下在 Chrome 上启动 lib\main.dart... 在 ws://127.0.0.1:54007/NghsYaNRLKE= 上为 Web 编译的调试服务 ══╡ 小部件库发现异常╞════════ ══════════════════════════════════════════════════ ═ 构建 MultiProvider 时抛出了以下 UnsupportedError: Unsupported operation: Platform._operatingSystem 相关的导致错误的小部件是:MultiProvider org-dartlang-app:///packages/My_App/main.dart:30:10 抛出异常时,这是堆栈:package:build_web_compilers/src/dev_compiler/dart_sdk.js 3996:11
throw_ 包:build_web_compilers/src/dev_compiler/dart_sdk.js 57810:17 _operatingSystem 包:build_web_compilers/src/dev_compiler/dart_sdk.js 57859:27 获取操作系统包:build_web_compilers/src/dev_compiler/dart_sdk.js 57772:27 获取 _operatingSystem 包: build_web_compilers/src/dev_compiler/dart_sdk.js 5020:17 获取包:build_web_compilers/src/dev_compiler/dart_sdk.js 57796:26 获取 isIOS 包:build_web_compilers/src/dev_compiler/dart_sdk.js 5020:17 获取包:firebase_core/src% 5Cfirebase_app.dart 15:16
获取 defaultAppName 包:build_web_compilers/src/dev_compiler/dart_sdk.js 5020:17 获取包:firebase_core/src%5Cfirebase_app.dart 51:57 获取实例包:build_web_compilers/src/dev_compiler/dart_sdk.js 5020:17 获取包:firebase_auth/ src%5Cfirebase_auth.dart 25:67
获取实例包:build_web_compilers/src/dev_compiler/dart_sdk.js 5020:17 获取内部回调══════════════════════ ══════════════════════════════════════════════════ ══════════════════════════退出

请帮我解决这个问题。

标签: flutterflutter-web

解决方案


我重新打开这个问题是为了给出一个更合适的答案,现在可以在本机中使用颤振:

import 'package:flutter/foundation.dart';
if (defaultTargetPlatform == TargetPlatform.iOS || defaultTargetPlatform == TargetPlatform.android) {
    // Some android/ios specific code
}
else if (defaultTargetPlatform == TargetPlatform.linux || defaultTargetPlatform == TargetPlatform.macOS || defaultTargetPlatform == TargetPlatform.windows) {
    // Some desktop specific code there
}
else {
    // Some web specific code there
}

推荐阅读