If you've upgraded to iOS 8 and see that the Location Services is always on, check out this post to fix it.
There's this thing about Location Services in iOS 7 that I wasn't aware of until recently. Even when all apps using the location-service feature weren't running, the location services icon was ON (in the status bar).
The first thing one does is to go to Settings → Privacy → Location Services. If some app was fetching data from location services, that would be marked with that icon next to the toggle switch.
So I went right in to find that no app had been using the location service. Dead end here.
The next best thing I could do was find out if apps are running in the background. Double-pressed the home button to pull up the task-switcher. Zilch again. There was no app running. Bummer.
A few meanderings down the forums and discussion board reveals a few things about location services that I've got wrong. I'm hoping it will help you too if you face a similar issue.
Location Services is not just triggered by an app running in the background that uses location data or stuff like the Weather app/Notification Center. Apps that aren't running in the background could also be a trigger for the location services. Most typical example? FourSquare.
It doesn't matter if you have closed/quit FourSquare on your iPhone. Unless you turn off location services from within the app, it could be asking for location data from iOS. And gracious as iOS is, it will keep the location services running in the background to give this data to the app requesting it.
There's another, simple but tricky side to location services running constantly even when – apparently – no app is using it. This comes from apps or services that are set to use current location data instead of, say, a specific location. The typical example in this case would be a third-party Weather app.
If, instead of giving a zip, you choose to let the app select the current location through GPS, that is going to keep the location services switched on. Kind of unnecessarily. If the app lets you configure a city/town manually, do it. Don't let it rely on location services. It saves a ton of battery and CPU resources.
But most notably, there are two more things you can do to prevent location services from being used for things that are not really needed. To do this:
- Go to Settings → Privacy → Location Services
- Scroll down and tap on System Services
- Turn off the toggles for Location-based iAds and Diagnostics & Usage
- If you don't use the Notification Center's Today feature (traffic), you can turn off the Frequent Locations feature too.
We mostly recommend that Location services be turned off completely unless you definitely require it on a constant basis. In cases where this is not possible or ideal, it's best to make sure apps are configured not to use the location services constantly. If you can't do that, you can individually turn off the toggles for the app in question via Settings → Privacy → Location Services.