Do two (or more) apps using GPS share the same location data stream?

Solution 1:

I'll preface this with, I'm not an IOS developer, but I'm sure it works much the same was as Android and other GPS APIs.

When an App calls the GPS APIs it's calling an abstraction to the GPS/Location system and receives position information that the system presents.

So in this case when one application asks the OS for Location data, the OS uses a mix of GPS and Wifi data to determine the location of the device. If at the same time another application requests location data, the phone would just use the location data that it has instead of having to turn on the radios again.

Solution 2:

In iOS, Location Services sits between all the location radios (cellular tower info, nearest wifi, GPS) and the apps, and caches the fused results between getting new information from those radios at a rate determined by the OS for decent battery life versus requested accuracy. Apps never "control" or talk to the GPS hardware or OS driver directly. The location information an app gets is time-stamped, so an app can check to see if it's old info or not.