The inclusion of "location services" is a requirement for using AssetsLibrary. The reason is that any photo / video in the Photo Library may contain geodata. This data is available not only through ALAssetPropertyURL, but also if you are reading raw data from an asset (using getBytes: fromOffset: length: error: Method of ALAssetsRepresentation). The reason is that it is not possible to remove the geodata metadata from the raw image data (in case the location services are disabled), I assume that a constructive decision was made to make the "location services" mandatory for using the AssetsLibrary library.
This requirement may confuse the user. So you need to do 2 things:
1) If the user denies access to location services, then an explicit message until your application needs this access and that the application does not actually determine the current position or any GPS / data.
2) Display clear instructions on how to enable location services as soon as the user clicks “NO” in the initial dialog box.
Greetings
Hendrick
holtmann
source share