Core Location and Map Kit are an incredibly powerful set of tools and APIs that give you full access to available location metadata. Using Core Location directly, through the location manager, you can monitor a user’s location using standard services, significant change services, or region monitoring. Additionally, the core location manager allows direct access to heading information relative to either true north or magnetic north. Using Core Location you can determine where a person is and where they’re going.
Beyond specific device location information, Core Location offers powerful (locale aware) address conversion APIs. These APIs let you forward and reverse geocode location information into a CLPlacemark. Placemarks contain a completed form of the address including a CLLocation, CLRegion, and NSDictionary of address values.
Finally, using Map Kit you can easily track a user’s location by toggling a single Boolean property, showsUserLocation. Once enabled, the MKMapView will automatically animate and track the location while communicating that information back to the user on the map.
Don’t forget, when working with location it’s always important to check and monitor relevant permissions! It doesn’t matter if you have the coolest location app in the world, there are users who will download your app and not enable location services. Be prepared for error conditions and blocked access.