0

特定のハンドラーを使用せず、同じ更新間隔が必要な iOS4 を使用している場合、特定の加速度計、ジャイロスコープ、磁力計の更新の代わりにデバイスの動きを使用する違いは何ですか?

デバイス モーションを使用している場合、これら 3 つの機能のいずれかがデバイスで使用できない場合はどうなりますか?

つまり、これらの機能のいずれかが利用できない場合、 deviceMotionAvailable を返すものは何ですか?

4

1 に答える 1

3

iOS 4 では、磁力計はデバイス モーション API にまだ含まれていませんが、CLLocationManager によって処理されます (これは iOS 5 で変更されました)。したがって、ジャイロと加速度計があれば、磁力計とは無関係にdeviceMotioAvailable返されます。true一方、ジャイロが欠落している場合は、常に を取得falseし、 にとどまる必要がありますaccelerometerData

Device Motion には両方のセンサーの 1 つのタイムスタンプがあるため、両方のセンサーの信頼できる補間値が得られます。そうしないと、Device Motion はセンサー フュージョンを実行できません。これが主な利点であり、これが推奨される方法です。

CLLocationManager の修正頻度に依存することはできません。didUpdateHeadingシステムが呼び出されるべきだと「考える」ときはいつでも呼び出されます。正規化された CLLocationManager と CMDeviceMotion の間の異なる時間座標を取得するには、NSTimeInterval を unix タイムスタンプで確認できます。

于 2011-10-17T09:07:29.157 に答える