iPhone3GS 是不是支持阻塞队列?
Posted
技术标签:
【中文标题】iPhone3GS 是不是支持阻塞队列?【英文标题】: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");
];
【问题讨论】:
【参考方案1】:这与阻塞队列无关。我相信您的问题是设备运动事件需要加速度计和陀螺仪(可以通过-deviceMotionAvailable
查询),但 iPhone 3GS 没有陀螺仪。因此,即使是非基于块的设备运动方法也不适合您。您应该考虑仅使用加速度计是否足以满足您的需求;否则你将不得不限制你的应用需要陀螺仪。
【讨论】:
以上是关于iPhone3GS 是不是支持阻塞队列?的主要内容,如果未能解决你的问题,请参考以下文章