【问题标题】:Cordova/Phonegap shake gesture detection not working on ios simulatorCordova/Phonegap 抖动手势检测在 ios 模拟器上不起作用
【发布时间】:2014-12-02 09:45:35
【问题描述】:

我只是在测试这个cordova插件

https://github.com/apache/cordova-plugin-device-motion/blob/master/doc/index.md

我刚刚在平台上添加了插件:

cordova plugin add org.apache.cordova.device-motion

然后我在 ios 模拟器和 android 3.2 和 android 4.1 真实设备上进行测试,但在 IOS 模拟器上似乎无法正常工作,而在真实设备上则效果很好。

IOS 是否有一些限制,或者我需要知道什么?还是只是因为模拟器无法模拟摇晃手势?

正如您从图片中看到的那样,有一个摇动手势仿真命令 :(

很遗憾,我没有真正的 iphone 或 ipad,有人知道这个插件在真正的 ios 设备上是否同样有效吗?

我的代码很简单:

 $ionicPlatform.ready(function () {
   navigator.accelerometer.watchAcceleration(function (acceleration) {

        console.log('Acceleration X: ' + acceleration.x + '\n' +
              'Acceleration Y: ' + acceleration.y + '\n' +
              'Acceleration Z: ' + acceleration.z + '\n' +
              'Timestamp: '      + acceleration.timestamp + '\n');


      }, function (err) {

        console.log(err + ' --------watching err');
      }, {
        'frequency':1800
      });
   });

【问题讨论】:

  • 你也安装了控制台插件吗?
  • @jcesarmobile 不,这对完成这项工作有必要吗? Android 正在对 adb 日志执行 console.logs...
  • @jcesarmobile 已安装,尝试过,但模拟器没有控制台日志,看起来模拟器摇动手势模拟与我不知道的加速度计无关:(
  • 是的,在 iOS 上,您必须安装控制台插件才能看到 console.log 消息。无论如何,我刚刚测试了你的代码,我确认我也没有从摇动手势中收到消息,但它可以在真实设备上运行
  • 太好了,我会等待其他反馈,这确实是我的猜测,谢谢:)

标签: javascript android ios cordova ionic-framework


【解决方案1】:

您的代码(或任何加速度计代码)无法识别模拟器的抖动,模拟器抖动只会触发抖动事件,它不会更新任何加速度计数据

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-12
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多