CMMotionManager 的委托方法

Posted

技术标签:

【中文标题】CMMotionManager 的委托方法【英文标题】:delegate method for CMMotionManager 【发布时间】:2011-07-28 10:28:11 【问题描述】:

我只想知道,当我们使用 CMMotionManager 调用 startGyroUpdates 方法并将一些 updateInterval 修复为 1.0/60.0 时,是否有任何委托方法需要我们实现才能获取陀螺仪更新。如果没有,那么我们可以在哪里/如何获取陀螺仪更新。

如果有一些有用的代码 sn-p 来找出设备的位置变化,即设备是否从某个参考点向上或向下移动。

【问题讨论】:

【参考方案1】:

文档说:

开始陀螺更新 在没有处理程序的情况下启动陀螺仪更新。

- (void)startGyroUpdates

讨论 您可以通过 gyroData 属性获取最新的陀螺仪数据。当您不再希望您的应用程序处理陀螺仪更新时,您必须调用 stopGyroUpdates。

可用性 在 ios 4.0 及更高版本中可用。 另请参阅

– startGyroUpdatesToQueue:withHandler:

声明于 CMMotionManager.h

【讨论】:

【参考方案2】:

添加到 xs2bush 的正确答案:有关更多信息,请参阅 Simple iPhone motion detect 中的文档链接。

关于从某个参考点移动的第二个点,绝对不是。目前根本没有办法以可接受的精度确定位移。关于这个有几个问题和讨论 Getting displacement from accelerometer data with Core Motion 或 Measuring time the vehicle takes to accelerate in iPhone(我不相信 3% ;-)

【讨论】:

以上是关于CMMotionManager 的委托方法的主要内容,如果未能解决你的问题,请参考以下文章

CMMotionManager 未提供任何值

CMMotionManager 的多个实例,确定更新间隔

CMMotionManager 是全局资源吗?这是啥意思?

CMMotionManager:设备校准在真实设备上不起作用

CMMotionManager 在 iOS 7 启动后返回偏航的大幅跳跃

Swift 3 CMMotionManager startGyroUpdates 不起作用