CMMotionManager不生成任何.deviceMotions

Nil*_*nch 8 iphone objective-c augmented-reality cmmotionmanager

我正在为我公司的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");
    }
Run Code Online (Sandbox Code Playgroud)

我们在某些设备上获得了"设备运动处于活动状态,但没有收到任何设备动作"的实体块,但它似乎完全随机.

如果motionManager.deviceMotionActive为true,并且运动管理器存在,则.deviceMotion应返回CMDeviceMotion.但它只返回零.

有谁知道可能导致这种情况的原因是什么?检查正在我的运行

- (void)onDisplayLink:(id)sender
Run Code Online (Sandbox Code Playgroud)

Nil*_*nch 5

在漫游之后,我们发现这是由于不常发生的硬件/固件错误.最明智的事情是检查这两个motionManager.deviceMotion是零,而motionManager.deviceMotionActive是真实的.