如果我在 iOS4 上,不使用特定的处理程序,并且需要相同的更新间隔,那么使用设备运动而不是特定的加速度计、陀螺仪和磁力计更新有什么区别?
如果我使用 Device motion ,如果这 3 个功能之一在设备上不可用,会发生什么情况?
我的意思是,如果这些功能之一不可用,将返回什么 deviceMotionAvailable ?
如果我在 iOS4 上,不使用特定的处理程序,并且需要相同的更新间隔,那么使用设备运动而不是特定的加速度计、陀螺仪和磁力计更新有什么区别?
如果我使用 Device motion ,如果这 3 个功能之一在设备上不可用,会发生什么情况?
我的意思是,如果这些功能之一不可用,将返回什么 deviceMotionAvailable ?
在 iOS 4 中,磁力计尚未包含在设备运动 API 中,而是由 CLLocationManager 处理(这在 iOS 5 中发生了变化)。所以如果你有一个陀螺仪和一个加速度计,deviceMotioAvailable
将返回true
独立的磁力计。另一方面,如果陀螺仪丢失,您将始终得到false
并且您需要留下来accelerometerData
。
由于 Device Motion 对两个传感器都有一个时间戳,因此您将获得两个传感器的可靠插值。否则 Device Motion 将无法进行传感器融合,这是首选方式的主要优势。
您不能依赖 CLLocationManager 的固定频率。didUpdateHeading
每当系统“认为”它应该被调用时。要标准化 CLLocationManager 和 CMDeviceMotion 之间的不同时间坐标,您可以查看NSTimeInterval to unix timestamp