【问题标题】:Does iPhone3GS support block queues?iPhone3GS 是否支持阻塞队列?
【发布时间】:2012-02-17 04:02:01
【问题描述】:

我在运行 iOS5.0 的 iPhone3GS 上遇到了一些代码问题

以下块永远不会被执行,即使它在 iOS5.0 的 iPhone4 上被正常调用。

日志语句永远不会出现,断点永远不会被触发。我查了一下,运动管理器和队列都不为空。

  [motionManager startDeviceMotionUpdatesToQueue:motionQueue withHandler:^(CMDeviceMotion *motion, NSError *error) {

            NSLog(@"motion event received");

//...
}];

我是否遗漏了什么,或者我是否需要重新编写代码才能在没有阻塞队列的情况下工作?
感谢您对我们的任何意见!

更新:

我已经检查过这个方法,它有效:

   [motionManager startAccelerometerUpdatesToQueue:motionQueue withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
        NSLog(@"accelerometerData event received");
    }];

【问题讨论】:

    标签: objective-c core-motion iphone-3gs


    【解决方案1】:

    这与阻塞队列无关。我相信您的问题是设备运动事件需要加速度计和陀螺仪(可以通过-deviceMotionAvailable 查询),但 iPhone 3GS 没有陀螺仪。因此,即使是非基于块的设备运动方法也不适合您。您应该考虑仅使用加速度计是否足以满足您的需求;否则你将不得不限制你的应用需要陀螺仪。

    【讨论】:

      猜你喜欢
      • 2014-10-16
      • 2018-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-30
      • 2014-08-24
      • 2012-01-26
      相关资源
      最近更新 更多