There's no public API to retrieve the GPRMC from the device's GPS chip.
The closest you can get to that is to build the GPRMC sentences from what the Location API provides you.
The following code builds the GPRMC and GPGGA sentences from CLLocation, in Swift. It's based on this question and on the NMEA specification for those sentences. Some data is hard-coded because we don't have access to that on iOS.
No, it is not possible.
First GPRMC is a message from the text based NMEA protocoll, which is a not well defined protocoll, each chip manufacturer interprets it differently.
Therfore most professional devices, use the binary protocoll from the Chip manufacturer.
And even when Apple woud internally use the NMEA Protokoll to communicate with the chip, you would not have any access to that messages.
However the data of the GPRMC message is available in CLLocation delivered by CLLocationManager.
Lets look at the attributes of RMC:
time: no not really, apple may correct the time by local time, or by a user correction offset
offset.
validFlag: yes in CLLocation
latitude: yes
longitude: yes
speed: yes
course: yes (CLLocation.course)
Magnetic Variation: yes possible, but needs an API call.
There's no public API to retrieve the GPRMC from the device's GPS chip. The closest you can get to that is to build the GPRMC sentences from what the Location API provides you.
The following code builds the GPRMC and GPGGA sentences from CLLocation, in Swift. It's based on this question and on the NMEA specification for those sentences. Some data is hard-coded because we don't have access to that on iOS.
On your
CLLocationManagerDelegate
:No, it is not possible.
First GPRMC is a message from the text based NMEA protocoll, which is a not well defined protocoll, each chip manufacturer interprets it differently.
Therfore most professional devices, use the binary protocoll from the Chip manufacturer. And even when Apple woud internally use the NMEA Protokoll to communicate with the chip, you would not have any access to that messages.
However the data of the GPRMC message is available in CLLocation delivered by CLLocationManager.
Lets look at the attributes of RMC: