2013-01-02 46 views
5

我使用的核心運動的傳感器融合得到北面向運動更新:Core Motion錯誤102是什麼意思?

[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是什麼意思嗎?我在文檔中找不到任何東西。

回答

7

由於Krishnabhadra正確指出,這個錯誤代碼意味着CMErrorTrueNorthNotAvailable。描述(「True True在此設備上不可用,通常表示該設備的位置尚不可用。」)不幸的是,並沒有給出任何提示如何解決該問題,所以我想在此時描述我的發現發生錯誤。

當使用CMAttitudeReferenceFrameXTrueNorthZVerticalCMAttitudeReferenceFrameXMagneticNorthZVertical OK)時,它發生在iOS 6.0+設備中的一小部分(少數幾分之一)部分中。儘管存在錯誤描述,但Core Location正常工作。在受影響的設備上,錯誤在100%的情況下被觸發並完全阻止Core Motion更新。 -[CMMotionManager deviceMotion]總是返回nil

重置iOS系統設置可解決問題。

我已經登入rdar://12952327瞭解更多詳情。

更新: 如果在隱私/位置服務/系統服務部分中禁用指南針校準,則會發生此錯誤。

+1

錯誤很可能是由於Ortwin在** Update **中寫入的內容導致的:指南針校準關閉;感謝您發現Ortwin!還要注意的是,即使一切正常,在真正的樣品進入之前,至少有一次這個錯誤是正常的。 – fishinear

0

102是CMErrorTrueNorthNotAvailable。我想你的設備在確定北向或其他方面存在問題。

3

documentation

typedef enum { 
    CMErrorNULL = 100, 
    CMErrorDeviceRequiresMovement, 
    CMErrorTrueNorthNotAvailable 
} CMError; 

似乎錯誤102 CMErrorTrueNorthNotAvailable,其描述是

CMErrorTrueNorthNotAvailable

似乎沒有多少信息,請有關什麼原因導致這種錯誤。它可能是設備的任何硬件問題。

+0

謝謝,我莫名其妙地錯過了的文件中。該文檔還指出:「這通常表示設備的位置尚不可用。」奇怪,因爲核心位置似乎工作。 –

0

我得到了這個錯誤,當我試圖找到解決方案時,顯然我的設備中的位置服務已關閉,一旦我打開,它就起作用了。

2

此外,請確保已啓用。啓用此選項後,我在使用xTrueNorthZVertical時沒有再遇到102問題。

設置>隱私>定位服務>系統服務>指南針校準

iOS 11 System Services