我希望获得相对于基本位置的iPhone设备的当前音高,偏航和滚动。很像Compass应用程序中的内容。我在网上找到的大部分内容都是关于在结果中检测更改,而我正在寻找相对于基本位置的绝对位置,基本位置(pitch: 0, roll: 0, yaw: 0)
是这个位置:
任何人都可以建议我应该怎样做才能得到这个?我需要这一次性,基本上是函数调用的结果。
答案 0 :(得分:2)
设备不会持续跟踪方向。您的应用需要表明它需要此数据(通过Info.plist
文件)并开始监控,然后才能访问它。
可以通过CMMotionManager
类的deviceMotion
属性访问该信息。它是可选的,表示如果设备不支持此功能,或者您没有事先开始监控数据,则为零。
您需要为startDeviceMotionUpdates(using:)
指定一个可用于此目的的参考框架,以便获得正确的值。你想要的可能是.xTrueNorthZVertical
。请注意,此文档说明:
请注意,使用此参考框架可能需要设备移动来校准磁力计。它还需要该位置才能计算出磁性和真北之间的差异。
这可能意味着您无法自发地阅读它。您可能需要在应用程序启动时或用户进入您需要的视图时开始监控,并在校准完成后检查该值,并且用户需要执行某些操作。