繁体   English   中英

iOS CoreMotion API-是否可以跟踪一段时间内某人走路的次数?

[英]iOS CoreMotion API — Is there a way to keep track of how many times someone goes walking over a period of time?

我正在尝试编写一个简单的应用程序,使我可以使用CoreMotion API在设定的天数内跟踪平均步行时间。 CMPedometer API允许您访问上一个会话的startDate和endDate。 我当时想,执行此操作的一种简单方法是在用户默认设置中保持会话的“计数”(即,每次计步器跟踪您的步行计数时,计数都会增加1),并且还要保持endDate与startDate时差之和。 然后,我将总时间差除以计数即可得出平均步行时间。

我不确定该怎么做。 有没有一种方法可以在计步器每次跟踪步行时收集此数据?

CMPedometer API使您可以访问上一个会话的startDate和endDate。

那是哪个API? CMPedometer文档仅指定以下方法:

- queryPedometerDataFromDate:toDate:withHandler:

使用此方法可检索指定日期之间的历史行人数据。 该方法异步运行,并将数据传递到您提供的块。 仅存储了过去7天的数据,可供您检索。 指定开始日期超过7天只会返回可用数据。

我认为您正在寻找CMMotionActivityManager 根据文档,从CMMotionActivityManager获取活动非常简单:

- queryActivityStartingFromDate:toDate:toQueue:withHandler:

该查询将为您提供CMMotionActivity对象数组。 按“步行=是”过滤,您将获得指定时间段内的步行会话列表(仅适用于过去7天)。

我不能说它的准确性如何,或者您是否需要做一些自己的数据清理/过滤工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM