iPhone3GS是否支持块队列?

时间:2012-02-17 04:02:02

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

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

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

永远不会出现日志语句,并且永远不会触发断点。我检查过,运动管理器和队列都不为空。

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

            NSLog(@"motion event received");

//...
}];

我是否遗漏了某些内容,或者我是否需要重新编写代码才能在没有阻止队列的情况下工作? 感谢你对ussue的任何意见!

更新

我已经检查了这个方法,它可以工作:

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

1 个答案:

答案 0 :(得分:3)

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