Hello everyone. I need a clarification with Core Location, please help.
How exactly is GPS data passed from external GPS source that is connected via Bluetooth? After some googling I found two separate points:
- Core Location (CLLocationManager) is responsible only for internal GPS receiver data. For external BT sources I need to use EAAccessory and read NMEA protocol.
- When I connect an external source, internal GPS is switched off instantly and CLLocationManager starts providing its data. So it must work OK.
Thing is, I don't have an external source to test it and I'm not that experienced in BT.
I have a report that people cannot use external GPS source with my app (I use Core Location only). Though I also have an info that all navigation apps support external GPS source. So they've already solved this?
Or maybe I should check Core Bluetooth out for this?
My question is kind of close to this one:
https://forums.developer.apple.com/thread/69717?q=gps
Maybe MFi really has a relation to that? And something can depend on GPS device being MFi or being not MFi?
Or this one:
https://forums.developer.apple.com/message/31679#31679
Seems much closer to my topic. So if I got it right, all MFi-supported external GPS data sources should work as is via Core Location?
If that's true, is all CLLocation data valid there (when using external source)? Or just altitude and position?