我正在为我的公司开发一个 AR 应用程序,它运行顺利,除了大约十分之一的设备。 (所有 iphone 4 和 4s,5.1.1+)
当我们运行这段代码时:
CMDeviceMotion *d = motionManager.deviceMotion;
if (d == nil && motionManager.deviceMotionActive && motionManager != nil) {
DLog(@"Device motion is active, but no device motion recieved");
}
我们在某些设备上看到了“设备运动处于事件状态,但未收到设备运动”的实心 block ,但它看起来完全是随机的。
如果 motionManager.deviceMotionActive
为真,并且运动管理器存在,.deviceMotion 应该返回一个 CMDeviceMotion。但它只返回零。
有谁知道是什么原因造成的?正在我的
中运行检查- (void)onDisplayLink:(id)sender
最佳答案
经过一些漫游,我们发现这是由于不常见的硬件/固件错误造成的。最明智的做法是检查 motionManager.deviceMotion 是否为 Nil,以及 motionManager.deviceMotionActive 是否为 true。
关于iphone - CMMotionManager 不产生任何 .deviceMotions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12636525/