我使用的核心运动的传感器融合得到北面向运动的更新:
[motionManager startDeviceMotionUpdatesUsingReferenceFrame:CMAttitudeReferenceFrameXTrueNorthZVertical toQueue:motionQueue withHandler:motionHandler]
在非常罕见的情况下,只能在选定的客户设备被复制(iPhone 4S的运行iOS 6.0.2)我收到此错误在motionHandler:
Error Domain=CMErrorDomain Code=102 "The operation couldn’t be completed. (CMErrorDomain error 102.)
而且,看来我没有得到后,任何有效的deviceMotion更新。 有谁知道这个错误是什么102分的手段? 我不能找到文档中任何事情。
作为Krishnabhadra正确地指出,这个错误代码的含义CMErrorTrueNorthNotAvailable
。 说明(“正北为无法在这个装置上。这通常表示该设备的位置尚不可用。”),遗憾的是不给任何提示如何解决这个问题,所以我想形容我发现这个时候发生错误。
它使用时,发生在一个微小的(少数出成千上万)iOS 6.0以上版本的设备部分CMAttitudeReferenceFrameXTrueNorthZVertical
( CMAttitudeReferenceFrameXMagneticNorthZVertical
是OK)。 尽管错误描述,核心位置正常工作。 在受影响的设备的bug被触发的情况下,板块核心运动完全更新100%。 -[CMMotionManager deviceMotion]
总是返回nil
。
重置iOS系统的设置,解决了这个问题。
我已经登录rdar:// 12952327有一些更多的细节。
更新:如果指南针校正处于保密/定位服务/系统服务部分禁用,则会出现此错误。
从文档
typedef enum {
CMErrorNULL = 100,
CMErrorDeviceRequiresMovement,
CMErrorTrueNorthNotAvailable
} CMError;
这似乎错误102 CMErrorTrueNorthNotAvailable
,其描述是
CMErrorTrueNorthNotAvailable
似乎没有多少信息,请有关什么原因导致这种错误。 它可以是任何硬件设备出现问题。
此外,请确保该已启用。 我启用该选项后,在使用xTrueNorthZVertical我没有遇到的问题102了。
设置>隐私>定位服务>系统服务>指南针校准
102是CMErrorTrueNorthNotAvailable。 我猜你的设备具有确定正北方向什么的问题。
我得到这个错误,当我在我的设备试图找到解决办法,显然我的位置服务被关闭,当我打开时,它的工作。