Я пытаюсь получить данные Core Motion от Apple Watch 3 (WatchOS 5.1), но хотя DeviceMotion доступен (свойство isDeviceMotionAvailable
равно true
), обработчик никогда не запускается.Я получаю следующее сообщение в консоли сразу после разбора super.willActivate()
:
[Gyro] Вручную установить калибровку прерывания гироскопа на 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
.