ALAssetsLibrary annoyingly requires Location Services

Originator:bigzaphod
Number:rdar://10511637 Date Originated:December 1, 2011
Status:Open Resolved:
Product:iPhone SDK Product Version:iOS 5.0.1
Classification:UI/Usability Reproducible:Always
 
ALAssetsLibrary requires Location Services in order to access the photos library. This is very confusing to users and difficult to explain. I realize that this is done because the photos themselves have embedded metadata that includes the location, so it makes technical sense to ask, but it doesn't make much sense to users.

In Twitterrific, we've implemented a "Use Latest Photo" shortcut feature when attaching photos to a tweet. It uses ALAssetsLibrary to get the last photo in their camera roll. This is a great feature but after being deployed for only one day, the support issues involving the location services question are flooding in. Many people reflexively deny location permissions - especially when presented with it while composing a tweet and they may know that Twitter allows for attaching location to tweets (which we don't currently do, but obviously the way the notification appears might give that impression). We could present the user with an alert if they deny permission explaining what just happened, but that seems annoying, too, and we're not sure it'd really help since it'd happen after they already denied it meaning that to undo the "Don't Allow" damage, they'd have to told to leave the app and hunt through Settings to flip a switch back on!

I would recommend one of the following approaches:

1) Continue to ask for location by default (ideally adding a note to the alert that this is for photo library access). If the user denies location permission, strip location metadata from the photos before sending the data to the app but allow ALAssetsLibrary to continue to function as expected rather than becoming entirely useless.

2) Never ask for location permission for ALAssetsLibrary and instead ALWAYS strip out location metadata from the photos before delivering the data to the app. Some apps might suffer from this loss of metadata, though.

3) Add BOOL parameters to ALAssetsLibrary when you init it - something along these lines: -(id)initWithWantsLocationMetadata:(BOOL)b; so that we (and probably a significant number of other developers) can create and use a photo library instance which strips out location metadata from the photos without ever annoying the user with a location prompt when the location data is entirely unnecessary to our apps anyway.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!