2

Apple Watch 3 (WatchOS 5.1) から Core Motion データを取得しようとしていますが、DeviceMotion は利用可能 (isDeviceMotionAvailableプロパティはtrue) ですが、ハンドラーはトリガーされません。解析直後にコンソールに次のメッセージが表示されますsuper.willActivate()

[ジャイロ]ジャイロ割り込みキャリブレーションを手動で800に設定

次の関数を使用して、Device Motion の更新を取得しています。

func startQueuedUpdates() {
    if motion.isDeviceMotionAvailable {
        self.motion.deviceMotionUpdateInterval = 1.0 / 100.0
        self.motion.showsDeviceMovementDisplay = true
        self.motion.startDeviceMotionUpdates(using: .xMagneticNorthZVertical, to: self.queue, withHandler:{
            (data, error) in
            // Make sure the data is valid before accessing it.
            if let validData = data {

                print(String(validData.userAcceleration.x))

            }
        })
    }
}

私が宣言したInterfaceControllerで

let motion = CMMotionManager()
let queue : OperationQueue = OperationQueue.main

以前にこのメッセージに遭遇し、解決できた人はいますか?

注:isGyroAvailableプロパティを確認したところ、 false.

4

1 に答える 1