Я создаю приложение, которое будет фиксировать ускорение пользователя на Apple Watch и отправлять эти данные на сопряженный iPhone.Для этого я использую фреймворк CoreMotion
.
Моя проблема: я использовал объект CMSensorRecorder
для записи данных.Это работало некоторое время, но CMSensorRecorder.authorizationStatus()
теперь «не авторизовано».
У меня было NSMotionUsageDescription
в info.plist
файлах приложений для часов и телефона с самого начала.Я удалил и снова добавил их, но без удачи
Я помню, как приложение отображало подсказку, чтобы разрешить отслеживание движения, но не может воссоздать возможность отображать подсказку.Буду очень признателен за любые советы о том, как снова включить CMSensorRecorder
.Приветствия.
Мой код инициализации CMSensorRecorder
:
if CMSensorRecorder.isAccelerometerRecordingAvailable(){
if CMSensorRecorder.authorizationStatus() == .authorized {
print("\(Date()): recorder started")
DispatchQueue.global(qos: .background).async {
DispatchQueue.global(qos: .background).sync{
self.dateStart = Date()
self.recorder.recordAccelerometer(forDuration: self.duration)
}
}
}
else {
print("\(CMSensorRecorder.authorizationStatus())")
self.xAccLabel.setText("not authorised")
}
}
else {
print ("Recording not available")
self.xAccLabel.setText("Not available")
}