【发布时间】:2013-11-07 12:59:38
【问题描述】:
我想知道是否有人能指出我在 iPhone5S 及更高版本中使用 M7 芯片的正确方向。
我想知道它是否只是在您使用通用核心运动 API 时自动使用,还是有一组特定的 API 可供使用?
最后我在网上阅读一些文章时注意到它保留了一些历史运动数据,任何人都知道如何访问它或者任何人都可以指出正确的方向吗?
【问题讨论】:
标签: iphone api ios7 core-motion apple-m7
我想知道是否有人能指出我在 iPhone5S 及更高版本中使用 M7 芯片的正确方向。
我想知道它是否只是在您使用通用核心运动 API 时自动使用,还是有一组特定的 API 可供使用?
最后我在网上阅读一些文章时注意到它保留了一些历史运动数据,任何人都知道如何访问它或者任何人都可以指出正确的方向吗?
【问题讨论】:
标签: iphone api ios7 core-motion apple-m7
您要查找的两个主要类是CMMotionActivityManager 和CMMotionActivity。第一个允许您查询历史数据和管理运动。第二个让您可以访问不同的、更具体的运动类型。
这两个类仅在 iOS 7 上可用。首先使用-[CMMotionActivityManager isActivityAvailable] 确定运动是否可用。我没有找到任何关于它的文档,但我的猜测是该方法只会在具有 M7 芯片(或支持运动活动报告的未来芯片)的设备上返回 YES。
【讨论】:
如果您正在寻找历史数据,那么研究一下这个特定的函数可能会很有价值: queryStepCountStartingFrom:to:toQueue:withHandler: 它是 CMStepCounter 的一部分,仅适用于配备 M7 的手机。来自文档:
This method runs asynchronously, returning immediately and delivering the
results to the specified handler block. The system stores only the last
seven days worth of step data at most. If there are no samples for the
specified range of time, a value of 0 is passed to the handler block.
希望这会有所帮助!
【讨论】: