我正在制作一个应用程序,它将在 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")
}