如何使用 CMDeviceMotion 检测我的设备运行速度?
Posted
技术标签:
【中文标题】如何使用 CMDeviceMotion 检测我的设备运行速度?【英文标题】:How to use CMDeviceMotion to detect how fast my device is traveling? 【发布时间】:2015-08-16 22:46:02 【问题描述】:我正在编写一个 ios 应用程序,并且不想在我的设备达到一定速度之前开始检测抖动事件。我知道如何使用 CMMotionManager 来获取 CMAccelerationData 来检测抖动事件,但有谁知道我应该用什么来检测我的设备移动的速度? CMDeviceMoting/userAcceleration/GPS...我只是找不到我应该做什么。我正在快速编写我的应用程序,但 Objective-C 中的答案也足够了。
感谢您的帮助
【问题讨论】:
【参考方案1】:您可以使用CoreLocation
并使用CLLocation
的speed
属性。这需要设备的 GPS,并且仅适用于较大的速度。
【讨论】:
你在跟我说话吗? 15mph 是不是听起来比较大?这听起来像是我正在寻找的东西。我以前从未使用过 CoreLocation,所以我不确定它的功能是什么,而且我试图远离使用 GPS 以延长电池寿命。但我会试一试谢谢 是的。它似乎是这些速度的唯一解决方案(但它们必须延长) 使用 GPS 的 iPhone 上的电池寿命可能会成为杀手,我只是亲身体验过。在 iPad 上使用相同的应用程序我从来没有遇到过问题。我建议观察电池电量,不要让用户的电池完全耗尽,这种情况发生了几次,并且在某些情况下真的不希望手机死机。留下大约 20%。 @ILikeTau 我对反对票的评论是针对反对票的,这对我来说似乎是一个很好的答案。以上是关于如何使用 CMDeviceMotion 检测我的设备运行速度?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 5 中使用 CMDeviceMotion 获取设备的标题
当应用程序从后台返回到前台时,CMDeviceMotion 停止更新