The problem with ALAssetsLibrary and Location Services
I have developed a photo app for the iPhone, released a couple of days ago, that's doing rather good in the App Store, but would probably do a lot better if it weren't for the negative reviews saying that they can't understand why the app wants access to Location Services to be able to select photos from the photo gallery.
The app lets users select photos from their gallery, which they then can style and edit in different ways. To do this I use the ALAssetsLibrary class. So far so good. The problem with the ALAssetsLibrary class is that if I wish to use it to access photos on the device, the user must give the app access to Location Services, as well. Why, you ask? Well, because photos in the gallery might possibly include information on when and where the photo was taken. If the user doesn't give the app access to Location Services, the app won't be able to access the photos at all.
In my app I'm not interested in the location services data at all - I just want the user to be able to select photos. But as far as I know there is just no way to read photos without Location Services enabled. As a developer I can sort of buy this limitation - because I understand why it exists - but apparently my users can not. And as a user myself I have to agree with them. Why on earth do they/I have to allow the app to access Location services for me to be able to select photos? It doesn't make sense!
At the moment I'm getting a lot of negative reviews saying "I downloaded and deleted. The app wants access to Location Services when I try to select a photo. This seems fishy. Don't download it". I agree. It DOES seem fishy, but I couldn't care less about their location data, and although I try to inform the user about this in the app, a lot of people doesn't seem to care, or understand why this is the way it is.
So, what's the point of this rant? Well, to start with, wouldn't it be better if iOS asked something like "This app needs access to your photos" instead of "This app needs access to your location", when using the ALAssetsLibrary?
Also, instead of using the ALAssetsLibrary I could have used the UIImagePickerController - if only it had supported landscape orientation. Why, why, WHY doesn't it? My app is landscape only, and therefore I had to build my own image picker functionality, instead of using the default one. Portrait only is a very stupid limitation, if you ask me.
Finally, is there SOME way at all to access the photos on the device without requiring Location Services as well?
Thank you for listening,
Andreas Lindahl
Rodskagg