Thanks to CoreLocation in the iPhone SDK, Apps can make use of WiFi, Cell, and A-GPS (for the iPhone 3G) information to keep track of where you are. Your Twitter feed can be tagged with your current location, or can show you just those contacts in a certain vicinity. A movie app can automatically fetch show times for all the theaters in a certain radius. A to-do app can pop up location-based (rather than just time-based) alerts, reminding you to help your mom change a lightbulb next time you're there, or ping you when you pass the electronics store so you remember to pick up that cable you need.
Convenient? You bet. Powerful? A game changer. Invasive? Er... Could certainly be.
What if you don't always want whereabouts broadcast, if you don't want everyone to know (or potentially be able to find out) where you are, when you're out shopping, where that picture of your child was taken?
Read on to find out how apps ask for permission to use your location, how you can change your mind and make them ask you again, or how you can turn off location services completely.
Apple enforces a policy that requires apps to pop up a requester asking your permission several times before defaulting to location aware status. In my tests, every newly downloaded app will ask for permission until it's agreed to twice. So, if you say "Okay" twice in a row, it will stop asking and begin using your location. However -- and unfortunately -- the same doesn't hold true for "Don't Allow". Using Apple's Camera and App Store apps, I said "Don't Allow" ten times in a row and it kept asking. Then said "Okay", "Don't Allow", and "Okay" again, and on the second "Okay" it stopped asking.
While Apple should, of course, allow users to just as easily default to a non-location aware state through some combination of repeated denials over time, they have baked in a couple of options for the privacy and security minded of us.
To disable Location Services completely, tap Settings, tap General, and then slide the Location Services switch to the "off" position. (You can always turn them back on when/if you want to use them later.)
To force apps to ask your permission again before using your location, scroll to the bottom of the General Settings, tap Reset, then tap Reset Location Settings. Next time you fire up Camera, Maps, or Apps like Twitterrific, Showtime, etc. they'll ask you again if they can use your current location, and you can agree or decline on a per-App basis.
And voila: control restored!