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
.