Programming iOS Programming: Why I'm Using Your Location
Saturday, April 28, 2012 at 1:24AM Almost everyone who owns an iPhone has come across an app that uses location services, usually indicated by a pop-up like this:

I know I can sometimes be hesitant to tap "OK" unless it's for something I can immediately see the reason for why the app would want access to my location (Google Maps, for example). Luckily, there is a way to offer an explanation to the user as to why you are requesting their location.
CLLocationManager has a property called purpose, which is just an NSString that gets displayed as message text between the "[AppName] would like to use your current location" text and the "OK"/"Don't Allow" buttons. Set this property to an appropriate message describing to the user why you'd like to get their location (find nearby restaurants, give directions, etc.) so they don't worry their location is being used inappropriately:
locationManager.purpose = @"This app uses location information to determine the nearest points of interest for your hike.";
Note that the purpose property must be set before starting location services (startUpdatingLocation).
The end result:

Special thanks to Carl Brown for this tip from his CocoaCoder.org meetup presentation. His website is http://www.escortmissions.com/.
Programming 