4

我是 phonegap / cordova 3.0 的新手,似乎我遇到了与PhoneGap Help 类似的问题:设备属性,cordova v phonegap,xcode 调试。不幸的是,我现在无法在互联网上找到解决方案。

在为 ios 创建 Hello World 示例后,在模拟器中一切正常。但是在使用 den 文档中为设备属性给出的示例代码更改了 index.html 中的内容之后,模拟器的屏幕仅显示“正在加载设备属性..”仅此而已。由于某种原因,函数 onDeviceReady() 无法正常工作。非常感谢任何帮助

这是设备属性的 index.html 代码

<!DOCTYPE html>

设备属性示例

    <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 Name: '     + device.name     + '<br />' +
            'Device Cordova: '  + device.cordova  + '<br />' +
            'Device Platform: ' + device.platform + '<br />' +
            'Device UUID: '     + device.uuid     + '<br />' +
            'Device Model: '    + device.model    + '<br />' +
            'Device Version: '  + device.version  + '<br />';
        }

        </script>
</head>
<body>
    <p id="deviceProperties">Loading device properties...</p>
</body>

xcode和模拟器的截图

4

3 回答 3

5

正如我在您链接到的另一个问题中提到的那样,我认为这里的问题可能与缺少插件有关。您的onDeviceReady功能应该可以正常工作(尝试在其中发出警报,只是为了对其进行测试)......但我认为当您尝试访问device.modeldevice.version等内容时可能会遇到问题。

为了访问设备对象,您需要安装插件。如果没有插件,复制示例代码将无法工作。如果您还没有这样做,请使用以下方法获取插件:

$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git

希望这对你有用。

于 2013-08-28T23:31:05.090 回答
0

对于像我这样的新手来说,必须在项目目录中使用插件链接,并且必须将插件的 .h 和 .m 文件移动到项目插件目录中。不要忘记 DeviceDetails.js 必须与 index.js 进入同一目录

于 2013-08-29T16:11:13.993 回答
0

除了避免回答和避免像 Helmut 遇到的路径问题:

  1. 打开终端/外壳
  2. 转到 Phonegap 项目的目录($ cd path/to/project)
  3. 在终端/外壳中键入以下内容:

    科尔多瓦插件添加 org.apache.cordova.device

不幸的是,使用这种方法无法区分同一平台的不同设备。例如,如果您必须确定应用程序是否在 iPhone 5 上查看,您可能应该检索屏幕尺寸。

于 2013-12-08T11:04:25.840 回答