如何知道我的Cordova应用程序是在模拟器还是真实设备上运行?

时间:2014-08-14 16:18:43

标签: javascript cordova

我想在模拟器/模拟器中运行时与其他服务器通话。

看起来像用于提及模拟器的device.platform,但知道它只是说" iOS"。用户代理似乎也无法区分。

理想情况下,该解决方案适用于所有平台,但我会使用Android和iOS,或者事实上任何有用的东西!

3 个答案:

答案 0 :(得分:3)

对于iOS我只检查模型 - 如果匹配/ x86 /那么它是模拟器(直到Apple发布英特尔iOS设备)。

function isRunningInSimulator(device) {
    // Only valid after deviceReady
    return device && device.model.match(/x86/);
}

答案 1 :(得分:2)

在最新版本的设备插件(https://www.npmjs.com/package/cordova-plugin-device)中,现在有一个isVirtual属性来表示这一点。

答案 2 :(得分:1)

我不知道是否可以检测到。一个“解决方法”是使用任务管理器(grunt,gulp,无论如何)将配置文件从文件夹复制到其他文件夹。然后,不是在命令行运行“cordova run android”(示例),而是运行从一个特定文件夹(即:开发或生产)复制配置文件的任务,应用程序读取复制的文件。 / p>

您可以在“替换文字取决于环境”

部分查看http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/