我想知道是否有人可以为我指明在 iPhone5S 及更高版本中使用 M7 芯片的正确方向。
我想知道它是否只是在您使用通用核心运动 API 时自动使用,或者是否有一组特定的 API 可供使用?
最后,我在网上阅读一些文章时注意到,它保留了一些历史运动数据,有人知道如何访问它,或者有人能给我指出正确的方向吗?
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.
希望这有帮助!