Я прикладываю приложение для отслеживания сна, получая любое движение iPhone. Я искал везде, и есть много способов получить данные из этого, но не работает. Вот мой код.Не могу получить значение от акселерометра, гироскопа и устройства.
func startManager() {
let manager = CMMotionManager()
manager.startAccelerometerUpdates()
let accelerometer = manager.accelerometerData
}
Но manager.accelerometerData is nil. Я также пробовал это с помощью DeviceMotion, Gyro и UserAcceleration, но не работал. Я также пробовал это.
print(manager.isAccelerometerActive)
Оно напечатано ложное, так что я думаю, что это проблема, но я до сих пор не могу сделать его активным.
Я попробовал поставить let manager = CMMotionManager() наверху, и он все равно не будет работать.
Я попытался поставить manager.startAccelerometerUpdates() в ViewDidLoad и по-прежнему не работает.
Я также пробовал еще один способ, который является этим.
manager.startAccelerometerUpdates(to: OperationQueue.main) { (data : CMAccelerometerData, error : Error) in
print(data)
}
но это дало мне ошибку, говоря, что я должен добавить как! CMAccelerometerHandler, но после того, как я добавил, что он сказал мне добавить его снова.
Я хочу, чтобы получить необработанное значение от акселерометра, как х, у и г
(я импортировал CoreMotion)
Я делаю это с помощью Swift 3 на XCode 8.2.1 и тестирование его на iPhone 6с.