2012-02-17 73 views
1

我上运行iOS5.0iPhone3GS支持块队列吗?

以下块永远不会被执行的iPhone3GS运行到一个问题,我的一些代码,即使它被调用上iPhone4采用iOS5.0罚款。

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

[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"); 
    }]; 

回答

3

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