【问题标题】:How to get iOS's Device Model (e.g. "iPhone3,1")?如何获取 iOS 的设备型号(例如“iPhone3,1”)?
【发布时间】:2012-10-30 05:30:59
【问题描述】:

有没有办法在 PhoneGap (JavaScript) 中获取 iOS 的设备型号/标识符,如“iPhone3,1”?

【问题讨论】:

    标签: javascript ios cordova device identifier


    【解决方案1】:

    “从 3.0 版开始,Cordova 将设备级 API 实现为插件。”

    您必须首先安装插件(从项目主目录):cordova plugin add org.apache.cordova.device

    这是一个使用它的示例代码:

     <!DOCTYPE html>
    <html>
      <head>
        <title>Device Properties Example</title>
    
        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
        <script type="text/javascript" charset="utf-8">
    
        // Wait for device API libraries to load
        //
        document.addEventListener("deviceready", onDeviceReady, false);
    
        // device APIs are available
        //
        function onDeviceReady() {
            var element = document.getElementById('deviceProperties');
            element.innerHTML = 'Device Model: '    + device.model    + '<br />' +
                                'Device Cordova: '  + device.cordova  + '<br />' +
                                'Device Platform: ' + device.platform + '<br />' +
                                'Device UUID: '     + device.uuid     + '<br />' +
                                'Device Version: '  + device.version  + '<br />';
        }
    
        </script>
      </head>
      <body>
        <p id="deviceProperties">Loading device properties...</p>
      </body>
    </html>
    

    PhoneGap Documentation

    安装插件后,您可以通过以下方式读取设备型号:window.device.model

    不要忘记在 deviceready 事件之后调用它,并且不要忘记加载 cordova.js 仍然存在设备报告不准确的问题。 我在各种IOS设备上进行了测试,得到如下结果:

    iPhone 4 被报告为 iPhone3,1

    iphone 5s被报告为iPhone6,2

    iPhone 6 Plus 被报告为 iPhone 7,1

    iPad 2 报告为 iPad3,3

    我现在进行调查以了解这些值的含义。 如果有人有线索,我会很高兴听到。

    【讨论】:

    • 这些值是 Apple 型号标识符。 iPhone6,2 是 iPhone 5S,iPhone 6,1 是 iPhone 5。iPhone 7,1 可能指的是 iPhone 6 或 iPhone 6 Plus。
    【解决方案2】:

    在 Cordova (PhoneGap) 2.3.0 中,无需任何插件即可使用 device.model

    对于所有平台,都有一个名为 device.model 的新属性——它返回特定的设备型号,例如“iPad2,5”(对于其他平台,它返回用于返回的 device.name)。

    Source

    【讨论】:

      【解决方案3】:

      是的,通过Device API。您可以通过 window.device.* 访问它们。以下是属性列表:

      设备名称
      device.cordova
      设备.平台
      设备.uuid
      设备版本

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      相关资源
      最近更新 更多