Forum Xamarin.iOS

iOS listen for GPS NMEA data from a GPS device

I've built a Xamarin app that listens to GPS devices for NMEA messages. It works in UWP, and now I want to get it to work with iOS.

For UWP I use the NMEAParser project from here: https://github.com/dotMorten/NmeaParser . That seems to work fine for UWP, and it lists "Xamarin (Android + iOS)" on its specs, but attempting to use it for IOS gives me no joy, the NmeaDevice class doesn't seem to exist for iOS, and the other classes behave similarly.

Is there a similar thing for iOS? That is, a component that will allow me to plug a GPS device (I'm currently using an XGPS160, as well as a Trimble R3) into an ipad and listen for its NMEA messages?

-Regards,
Walter

Tagged:

Best Answer

Answers

  • AlexMertlichAlexMertlich USMember
    As far as I’m aware, you have to create direct connection via an EASession using the iAP2 protocol to get the raw NMEA data in your app. iOS’ location services does not provide this data by default and the data it gets is only based on the GGA and RMC NMEA messages.
    Each external accessory that is MFi certified to communicate with iOS has a protocol string you have to include in your info.plist (which the original manufacturer would have to white list you to use in a production app on the App Store).
  • wlangendorfEMwlangendorfEM Member ✭✭

    Thanks folks, it sounds like what I want to do is possible, at least.

    @juliagilbert
    I have:
    An iOS device
    An XGPS160 or Trimble R3 GPS device
    An app installed on the iOS device (sideloaded, not store)

    It seems like you are advising me to install the GPS Tether mobile application on the iOS device. Once I do so, if I want to get that information in my app, which of those 3 would be most appropriate? Thanks for the assistance.

    @AlexMertlich
    Same as above, I've got an iOS device, a GPS device and an app on the iOS, and I want to parse the NMEA data on the app. It sounds like you are giving me a path to do that. If I am not a production app in the Store can I parse the NMEA data without being on the company's whitelist, just by looking up and including their strings in my info.plist file? Thanks for the assistance.

  • AlexMertlichAlexMertlich USMember
    edited June 2019
    >
    > @AlexMertlich
    > Same as above, I've got an iOS device, a GPS device and an app on the iOS, and I want to parse the NMEA data on the app. It sounds like you are giving me a path to do that. If I am not a production app in the Store can I parse the NMEA data without being on the company's whitelist, just by looking up and including their strings in my info.plist file? Thanks for the assistance.

    If they have their protocol strings publicly available then yes, you can include them in your info.plist and connect to the raw data stream they provide through an EASession. They would need to whitelist you if your app needs to pass Apple certifications.
Sign In or Register to comment.