5

Core Motion のセンサー フュージングを使用して、北向きのモーション アップデートを取得します。

[motionManager startDeviceMotionUpdatesUsingReferenceFrame:CMAttitudeReferenceFrameXTrueNorthZVertical toQueue:motionQueue withHandler:motionHandler]

非常にまれなケースですが、選択したお客様のデバイス (iOS 6.0.2 を実行している iPhone 4S) でのみ再現できます。motionHandler で次のエラーが発生します。

Error Domain=CMErrorDomain Code=102 "The operation couldn’t be completed. (CMErrorDomain error 102.)

また、その後、有効な deviceMotion の更新を取得していないようです。このエラー102の意味を知っている人はいますか? ドキュメントには何も見つかりません。

4

5 に答える 5

7

クリシュナバドラが正しく指摘したように、このエラー コードはCMErrorTrueNorthNotAvailable. 説明 (「このデバイスでは真北が利用できません。これは通常、デバイスの位置がまだ利用できないことを示しています。」) は、残念ながら問題を解決する方法のヒントを提供していないため、これが発生した場合の調査結果を説明したいと思います。エラーが発生します。

CMAttitudeReferenceFrameXTrueNorthZVertical(CMAttitudeReferenceFrameXMagneticNorthZVerticalは OK です)を使用すると、iOS 6.0 以降のデバイスのごく一部 (数千のうちのほんの一握り) で発生します。エラーの説明にもかかわらず、Core Location は正しく機能します。影響を受けるデバイスでは、100% のケースでバグがトリガーされ、Core Motion の更新が完全にブロックされます。-[CMMotionManager deviceMotion]常に戻りますnil

iOS システム設定をリセットすると、問題が解決します。

rdar://12952327に詳細を記録しました。

更新: このエラーは、プライバシー / 位置情報サービス / システム サービス セクションでコンパスの調整が無効になっている場合に発生します。

于 2013-01-03T21:06:40.320 に答える
3

ドキュメントから

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

エラー102はCMErrorTrueNorthNotAvailableであるようで、その説明は

CMErrorTrueNorthNotAvailable

このエラーの原因に関する情報はあまりないようです。デバイスのハードウェアの問題である可能性があります。

于 2013-01-02T11:27:59.720 に答える
2

また、これが有効になっていることを確認してください。このオプションを有効にした後、xTrueNorthZVertical の使用中に 102 の問題が発生しなくなりました。

設定 > プライバシー > 位置情報サービス > システム サービス > コンパス キャリブレーション

iOS 11 システム サービス

于 2018-01-10T17:03:40.737 に答える
0

102はCMErrorTrueNorthNotAvailableです。お使いのデバイスで北方向などの判別に問題があると思います。

于 2013-01-02T11:27:46.780 に答える