如何确定颤振是否在模拟器中运行

Dan*_*ton 3 flutter

是否有电话确定颤振是否在模拟器或物理设备中运行?

由于相机不可用,我正在扫描QR码,并想绕过。

我期望在platform.dart[1]中找到它,但它不存在。

[1] https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/foundation/platform.dart

我想我可以根据需要创建一个插件,希望它已经存在。

Ale*_*lex 16

2021 年更新

\n

它\xe2\x80\x98s 现在是 Flutter Community Plus 的一部分(https://plus.fluttercommunity.dev/

\n

设备信息 Plus 文档:https://plus.fluttercommunity.dev/docs/device_info_plus/overview

\n

例如:

\n
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();\nif(Platform.isIOS){\n  var iosInfo = await deviceInfo.iosInfo;\n  if(iosInfo.isPhysicalDevice){...}\n}\n
Run Code Online (Sandbox Code Playgroud)\n


Adi*_*sih 6

我知道我有点晚了,但如果其他人来这里,这可以帮助他们。您可以使用这个包: https: //pub.dev/packages/safe_device

在您的文件中添加最新版本Pubspec.yaml然后导入它:

import 'package:safe_device/safe_device.dart';
Run Code Online (Sandbox Code Playgroud)

然后你可以检查设备是否是模拟器:

bool isRealDevice = await SafeDevice.isRealDevice;
Run Code Online (Sandbox Code Playgroud)


rmt*_*zie 5

使用设备信息插件,您可以获得有关正在运行的设备的各种信息,包括适用于android和iOS的“ isPhysicalDevice”(尽管您必须独立阅读它们)。

  • 还可以选择将平台检查包装在断言中,以便它仅在调试模式下执行(因为这可能是您在模拟器中使用的所有内容)。我确实明白你的意思@Remi,但他仍然必须有一个if(配置==模拟器)或无论如何具有不同主的东西,并且实际上记住每次他在模拟器上运行时他都必须切换到一个不同的配置有点痛苦,尤其是当他在一个多人团队中时...... (2认同)
  • 我们中的一些人同时运行多个设备和模拟器,以实现扩展和设计一致性。iOS 模拟器不支持推送通知、视频播放、相机等某些功能。帮助拥有 isSimulator (2认同)