Starting in iOS 8 in the XCode 6 SDK, background location tracking via requestAlwaysAuthorization
and foreground location fetching requestWhenInUseAuthorization
calls with CLLocationManager
needs to be first before any location updates can be made.
For code that works in iOS 7 and XCode 5 without error, the new XCode 6 and iOS 8 will give no alerts, errors, warnings, or log messages if you don’t supply the following _CRITICAL_ Info.plist
entry, NSLocationAlwaysUsageDescription
or NSLocationWhenInUseUsageDescription
with a alert message displayed to the user on the API call.
<key>NSLocationWhenInUseUsageDescription</key>
<string>Location Usage</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Allow Location Now?</string>