CoreMortionフレームワークは、デバイスの方向や動きを取得するインターフェースです
UIAccerometerクラスは次のiOSではサポートしなくなるとAppleが宣言していますので、CoreMotionを使うことにします。
加速度センサーとジャイロスコープ(ひねり)センサーからデータを取得します。
高度なフィルタリング機能もあります。
☆位置情報の取得タイミングについて
iOSイベント処理ガイドより
http://developer.apple.com/jp/devcenter/ios/library/documentation/EventHandlingiPhoneOS.pdf
プッシュ型:アプリケーションは、更新間隔を指定し、モーションデータを処理する、(あるタイプの)ブロックを実装します。次いで、Core Motionにオペレーションキューとブロックを渡して、該当するタイプのモーションデータの更新を始めるよう指示します。CoreMotionは(指定された更新間隔で)更新データをブロックに渡してオペレーションキューに入れます。ブロックはオペレーションキューから順次取り出され、タスクとして実行されることになります。
プル型:アプリケーションは、あるタイプのモーションデータの更新を始めるよう指示し、定期的に、直近の測定値をサンプリングします。
☆取得できない情報
GPSデータ
-CoreLocationフレームワークを使いましょう
コンパス情報
-CoreLocationフレームワークを使いましょう
iPhone4以降ではジャイロスコープが搭載されていますのでx軸、y軸、z軸のひねりの速度も取得できます
●クラスについて
CMMotionManager | 情報の取得タイミングなどの設定を行う |
CMAccelerometerData | デバイスのX,Y,Z軸情報を取得 重力情報 |
CMAttitude | roll,pitch,yawなどの姿勢角や行列などの加工されたデーターを取得できます |
CMDeviceMotion | 加速度センサーおよびジャイロスコープから得られた、処理済みのデバイスモーションデータをカプセル化します |
CMGyroData | rotationRateというプロパティ持ち、x,y,z軸における回転の早さ(ラジアン/秒)を持ちます |
CMLogItem | それぞれの位置情報にタイムスタンプを付与する、計測系クラスの親クラス |
No response to “CoreMotionについて”
Leave a Reply