Understanding iOS Location Services
As you know, you can determine your current location in a location aware iOS app with a tap of a button (sometimes you don’t even need to do that). For instance, you can allow third-party apps like Flixter to display your nearest movie theaters, The Weather Channel to push localized weather updates to your iDevice, Urban Spoon to show you the best restaurants in your area, Facebook to let you “check in” to popular places—the list goes on and on.
Did you ever wonder aloud or to yourself, “How does my iDevice know where I am in the world from moment to moment?” Some security-conscious iDevice users might wonder, “How much data is Apple tracking concerning my geographic whereabouts?”
In this article, we aim to teach you the basics of how to control location services in iOS 5. We will then go on to explain the logistics behind precisely how your iOS device can determine your geographic location by using a combination of cellular, WiFi, and GPS data. Finally, we’ll discuss online privacy as it relates to location services.
Be advised that the technical aspects of location services can get pretty complex; to wit, we will keep things at a fairly basic level here. If you want more of a “propeller head” discussion of iOS location services, then please see the links list I provide you with at the conclusion of this article.
On with the show!
Location Services from the End User’s Perspective
You are first asked to enable location services during initial iDevice setup, as shown in the following figure.
Figure 1 Enabling location services during initial device setup
If you change your mind about using location services after initial setup, then that’s no problem at all. We can globally enable or disable location services on our iPhone 4(S) or iPad by opening the Settings app and navigating to General > Location Services. We can then toggle the availability of location services; this interface is depicted in the following figure:
Figure 2 Globally enabling or disabling location services
Note the list of first-party and third-party location-aware apps in the Location Services screen. Here we can specify whether or not to allow location services on an app-by-app basis.
The iOS lets us know when an app is leveraging its location services permission by displaying a colored arrow icon at the top of your screen; this is shown in the following figure:
Figure 3 Location services notification
Scrolling to the bottom of the Location Services screen displays the legend used for the colored arrows. Unfortunately, the color-coding doesn’t help colorblind people like myself, but for people with normal color perception the key makes sense.
Tap System Services to enable or disable location services for internal iOS services such as the compass and cellular network search.
Figure 4 Understanding location services icons
The first time an app attempts to use location services, you’ll see the prompt shown in the following figure. Remember that if you initial don’t allow an app to determine your location, you can always change that toggle in the Location Services preference pane, and vice versa.
Figure 5 App request for your current location
When iOS determines your location (for instance, in the Maps app), your position is represented as a blue dot. Sometimes you see a blue shaded circle surrounding your location (as seen in the following figure); this represents the degree of accuracy at play. The smaller the circle, the more confident location services is of your exact location.
Figure 6 Determining your location
The Basics of How Location Services Determines Your Location
Apple iOS uses a three-stage algorithm in order to determine your location:
- Assisted Global Positioning System (A-GPS)
- Crowdsourced Wi-Fi
- Cellular network search
These three stages are used in descending order of priority. In other words, iOS first attempts to fix your location by using a GPS satellite link. If it is unable to acquire a satellite, iOS fails over to Wi-Fi. If you are not connected to a Wi-Fi local area network (WLAN), then iOS uses cell tower data. If all of the above fail, then you receive an error message such as what you see in the following figure.
Figure 7 Unable to determine your location
So exactly how do the aforementioned technologies work? Let’s have a look, shall we?
Assisted GPS (A-GPS) shortens the time that it typically takes for a GPS client device to acquire a connection to a satellite. For instance, my morning runs are sometimes delayed by several minutes while I wait for my Garmin GPS training watch to connect to a satellite. Imagine how painful it would be to wait several minutes for your iPhone to make a GPS connection!
Essentially, your iDevice caches periodic snapshots of satellite data in order to speed up connection time. Obviously, you will observe the snappiest GPS performance when you are outside and away from sources of interference such as tall buildings or even the interior of your vehicle.
Crowdsourced Wi-Fi means that your iDevice again caches information not only regarding the WLAN to which you are currently connected, but also regarding any other WLANs within range of your device. By storing WLAN service set identifiers (SSIDs) and media access control (MAC) address information locally, this allows iOS location services to pinpoint your location much faster through triangulation.
The idea is that if iOS detects that you are connected to your home WLAN and it already has the global positioning coordinates of that location, location services can display your location without having to work through GPS connection or Wi-Fi triangulation.
Cellular Network Search involves the notion of “triangulation” again, this time with iOS using cached information regarding your nearby cellular towers. By the way, triangulation is a geometry principle that determines the location of a point by measuring angles to it from known points at either end of a fixed baseline. For instance, iOS can approximate your location by measuring distances between your iDevice and a number of cell towers that are nearby.
What About My Privacy?
If you understand the location services techniques previously discussed, then you probably are considering the following questions:
- Is my cached location data vulnerable to snooping or theft?
- Is Apple saving my location data?
- What is Apple doing with my location data?
- Can Apple track me from moment to moment?
To this end, I would encourage you to read the following two sources (one from Wired.com, the other from Apple’s own attorney) for a detailed response:
- Why and How Apple is Collecting Your iPhone Location Data
In a nutshell, Apple’s position on location services and privacy is that the customer can “opt-out” of anonymous, encrypted data collection of Wi-Fi and cellular location data simply by disabling location services as I showed you how to do in the beginning of this article.
By using location services, customers grant Apple and its partners the right to collect location data from your iDevice and store it on their servers. According to Apple, none of this geodata is personally identifiable.
Speaking only for myself, the convenience of using iOS location services and the benefits that they provide me in my life outweigh any privacy concerns. After all, if someone steals my iPhone or iPad, I can always perform a remote wipe of the device, assuming I can access the Find My iPhone Web app before the thief thinks to either turn off the device or disable location services himself or herself.