2017-05-07 39 views
0

在手腕关闭后,屏幕关闭时,似乎无法在WatchOS上获取实时加速度计数据。从Apple CM的电池保养时间后,从CMMotionManager获取数据将停止。当屏幕关闭时,观察OS3无法获得加速度计数据

您可以从后台查询HKWorkoutSession的数据,例如:步数,卡路里,心跳率,但无法查询加速度计数据或CMDeviceMotion数据。

我谷歌它很多,我测试这个代码。
https://developer.apple.com/videos/play/wwdc2016/713/

WWDC sample code download

这是因为屏幕关闭的问题并不准确。屏幕关闭时,它不会在XCode中打印CMDeviceMotion数据。

有人说MSensorRecorder可能工作,但它有3秒的延迟。

有没有办法得到这个?

回答

2

屏幕关闭时,您的应用程序正在暂停。因此,您的问题不是“屏幕关闭时CMMotionManager不提供数据”,而是“屏幕关闭时我的应用程序未运行”。

作为一种变通方法,你就可以开始锻炼:锻炼时处于活动状态,您的应用程序会在后台运行,您可以继续从CMMotionManager同样的方式请求数据,你现在这样做。但要小心:应用程序不能在后台运行时使用超过15%的CPU,否则将被看门狗杀死。

手表上的锻炼和背景模式的更多详细信息,这WWDC视频:Building Great Workout AppsKeeping Your Watch App Up to DateArchitecting for Performance on watchOS 3