如何知道,如果 运行 在设备或模拟器上反应本机

How to know, if running on device or simulator in react native

为了区分 React Native 中的开发模式和生产模式,当 Debug = True 时定义了 __DEV__ 常量。

是否定义了类似的常量,让我在代码中知道代码是 运行 在设备上还是在模拟器中?

我还能从哪里获得此类信息。

您可以使用此 package,然后只需执行以下操作:

console.log(DeviceInfo.getModel()); // it returns 'Simulator'

由于发布了 G. Hamaide 的答案,DeviceInfo package 已添加方法 isEmulator

DeviceInfo.isEmulator()

这里有一个警告,DeviceInfo.isEmulator() return 是一个承诺,所以如果你使用 if(DeviceInfo.isEmulator()),它会 return true 即使 运行一个真实的设备。 使用 DeviceInfo.isEmulatorSync()if(await DeviceInfo.isEmulator()).