iOS 8 使用外部 GPS

Posted

技术标签:

【中文标题】iOS 8 使用外部 GPS【英文标题】:iOS 8 Using external GPS 【发布时间】:2015-07-24 10:02:11 【问题描述】:

我目前正在为 iPhone 开发外部蓝牙 GPS (Garmin Glo)(MFi 认证)。

一旦连接。我尝试使用 EAAccessory 框架读取 NMEA 数据,我只收到 15 个字节的传入数据,然后没有更多的流数据进来。

我想知道 ios 是否已经将所有数据转发到 CLLocationManager?

如果连接了外部 GPS,我通过 CLLocationManager 获得的位置数据是来自内部 GPS 还是外部 GPS?

如果有人能解释一下背后的逻辑,我将不胜感激。谢谢!

【问题讨论】:

CLLocationMan 始终采用内部 GPS。我怀疑 ios 会消耗流中的字节。很可能您在通信设置中犯了错误- @AlexWien 感谢您的回复。我在没有内部 gps 且飞行模式已开启的 iPad 上运行我的应用程序,但它连接到外部 gps(Garmin Glo)。我的应用程序很好地记录了路线。会不会是CLLocationManager自动转用外部gps数据? @AlexWien 至于设置,我猜它是正确的,因为 nsinputstream 没有任何即将读取的字节。我也从苹果下载了 EADemo,它也显示接收到的数据 15 个字节。 谁说 GPS 芯片设置正确?波特率? NMEA模式,二进制模式等?首先将 gps 连接到 ublox 的 uCenter 等 PC 应用程序。然后你可以看到芯片发送了什么。如果启用了 NMEA,等等。 对了,你为什么要连接外部 GPS 设备? 【参考方案1】:

这是一个有趣的外部 GPS 串口转蓝牙产品。我与此设备或公司没有任何关联,仅对 iOS 开发和 GPS 感兴趣。

Aman Enterprises - NMEA-BT

它是苹果 MFI 认证的蓝牙加密狗,可连接到 NMEA GPS通过串口 无需越狱。 无需 iOS 特殊 iOS 应用即可使用它,因为它将数据注入 iOS 设备核心位置 API。

FAQ

问:我可以通过电缆使用哪些应用程序?

A:GPS 电缆提供数据 到使用核心位置 API 的 iOS 应用程序。自核心位置 API 是位置感知 iOS 应用获取定位的标准方式 数据,电缆预计可用于任何位置感知的 iOS 应用程序。

我有兴趣了解它的工作原理,因为我有一个实验性应用程序可以解析来自蓝牙外部附件的 NMEA 字符串。

iOS 应用是否有可能覆盖 Core Location API 成为设备上安装的所有应用的核心位置提供?

【讨论】:

以上是关于iOS 8 使用外部 GPS的主要内容,如果未能解决你的问题,请参考以下文章

Apple 的 CLLocation 管理器的外部 NMEA GPS

在后台模式下接收 gps 位置更新 ??iOS 8

从 GPS 数据(核心位置)获取闰秒 iOS

iOS 8 GPS 未启用

带有外部 GPS 的 CLLocationManager/MKMapView

带有外部 GPS 的自定义定位服务通过 android things 连接到 Raspberry Pi