回答:
import 'dart:io' show Platform;
if (Platform.isAndroid) {
  // Android-specific code
} else if (Platform.isIOS) {
  // iOS-specific code
}
すべてのオプションは次のとおりです。
Platform.isAndroid
Platform.isFuchsia
Platform.isIOS
Platform.isLinux
Platform.isMacOS
Platform.isWindows
kIsWebアプリケーションがWeb上で実行するようにコンパイルされているかどうかを示すグローバル定数であるを使用して、Web上で実行しているかどうかを検出することもできます。
import 'package:flutter/foundation.dart' show kIsWeb;
if (kIsWeb) {
  // running on the web!
} else {
  // NOT running on the web! You can check for additional platforms here.
}
Platformドキュメント:https : //docs.flutter.io/flutter/dart-io/Platform-class.htmlkIsWebドキュメント:https : //api.flutter.dev/flutter/foundation/kIsWeb-constant.htmlコリンのおかげで、最終的な答えは次のとおりです。
bool isIOS = Theme.of(context).platform == TargetPlatform.iOS;機能しますdefaultTargetPlatformが、の使用をお勧めしTheme.of(context).targetPlatformます。これにより、iOSの動作のテストが可能になります(defaultTargetPlatform常にTargetPlatform.androidテスト中であるため)。また、ウィジェットの祖先がウィジェットにラップすることにより、ターゲットプラットフォームをオーバーライドできThemeます。
if (Platform.isIOS) {//my iOS widgets}
                    Platform.isIOSと同じ問題がありdefaultTargetPlatformます。テストでは機能せず、Themeウィジェットで上書きできません。
                    ほとんどの「フラッター」の答えは次のとおりです。
import 'package:flutter/foundation.dart' show TargetPlatform;
//...
if(Theme.of(context).platform == TargetPlatform.android)
    //do sth for Android
else if(Theme.of(context).platform == TargetPlatform.iOS)
    //do sth else for iOS
else if(Theme.of(context).platform == TargetPlatform.fuchsia)
    //even do sth else for Fuchsia OS
できるよ
defaultTargetPlatform == TargetPlatform.iOS
          ? kIOSTheme
          : kDefaultTheme,
から import 'package:flutter/foundation.dart';
ユニバーサルプラットフォームパッケージを使用できます。
https://pub.dev/packages/universal_platform
import 'package:universal_platform/universal_platform.dart';
bool isIos = UniversalPlatform.isIOS;
bool isAndroid = UniversalPlatform.isAndroid;
bool isWeb = UniversalPlatform.isWeb;
print('iOS: $isIos');
print('Android: $isAndroid');
print('Web: $isWeb');
ioライブラリをインポートするだけです。
import'dart:io' show Platform;
void main(){
if(Platform.isIOS){
  return someThing();
}else if(Platform.isAndroid){
  return otherThing();
}else if(Platform.isMacOS){
  return anotherThing();
}
または非常に簡単な方法で
Platform.isIOS ? someThing() : anOther(),
Undefined name 'Platform'.dart(undefined_identifier)使用するための必要条件はありますPlatformか?