ios - 如何确定 iPhone 用户是否在 sleep ?

标签 ios iphone core-motion healthkit

我想在我的应用程序中为用户做一个 sleep 分析。我认为 CoreMotion Framewrok 应该有帮助。

func queryActivityStartingFromDate(start: NSDate!, toDate end: NSDate!, toQueue queue: NSOperationQueue!, withHandler handler: CMMotionActivityQueryHandler!)

所以我使用上面的 API 来获取过去 7 天的用户运动数据。现在我得到了 CMMotionActivity 对象的列表。 我的问题是如何从这数千个 CMMotionActivity 对象中计算出用户 sleep 状态。有什么算法吗?或者任何其他方式来实现 sleep 分析。 非常感谢!

最佳答案

CMMotionActivity 包含一个 stationary 属性,它可能对您的情况有用。

寻找连续的不活动时间,与位置、时区和 CMDeviceMotion 数据配对,您应该开始检测您拥有的数据集中的模式。使用统计变化来定义阈值并微调您的结果。

请注意,您会做出可能不正确的假设。例如,有些人睡在移动的车辆中。

我发现此 pdf 很有用 ftp://ftp.tik.ee.ethz.ch/pub/students/2010-HS/SA-2010-26.pdf

关于ios - 如何确定 iPhone 用户是否在 sleep ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27837496/

相关文章:

ios - Facebook SLRequest 搞乱 NSURLConnection

ios - Xcode:在 Instruments 中未发现僵尸

javascript - 如何在iPhone上使用windowScriptObject?

iphone - 仍然可以使用 xCode 5 生成 iOS6 风格的应用程序吗?

ios - 在 SceneKit 中指向正确的方向

ios - CMDeviceMotion userAcceleration 颠倒了吗?

ios - Apple Mach-O 链接器错误/架构 i386 的 undefined symbol :

ios - UITableViewCell 不显示 UILabel

iphone - 如何记录 iOS 应用程序中使用的所有方法

ios - 计算运动时间CMMotionActivity?