Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Iphone - How to enable application access to media on the device? - ALAssetsLibraryErrorDomain Code=-3312 "Global denied access"

Tags:

iphone

media

OK, so I have had this problem before and solved it unknowingly and now it is reoccurring!

"error: 
 Error Domain=ALAssetsLibraryErrorDomain Code=-3312 "Global denied access" UserInfo=0x169aa0 
 {NSLocalizedFailureReason=The user has denied all applications access to their media., 
 NSLocalizedRecoverySuggestion=This setting can be changed in Preferences., 
 NSLocalizedDescription=Global denied access}"

Please NOTE://I do not get this issue in the simulator - my code for iterating assets works perfectly on the simulator.

Surely this is an easy fix but be damned if I can find anything under 'Preferences' anywhere that assists.

Please halp!

like image 905
Lance Avatar asked Aug 24 '10 21:08

Lance


3 Answers

What a joke - Location services must be turned on...

What a JOKE!

like image 161
Lance Avatar answered Nov 16 '22 02:11

Lance


Simply go to Settings>General>Reset>Reset Location Warnings.

However this won't help your users out but it is useful for development

like image 43
Anthony McCormick Avatar answered Nov 16 '22 02:11

Anthony McCormick


For iOS 4.2 and later use CLLocationManager authorizationStatus class method.

it will return a CLAuthorizationStatus enum ( declared at CLLocationManager.h ), you can test the return for kCLAuthorizationStatusAuthorized.

if ( [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized ) {
    // do your stuff
} else {
   // sorry user, you must enable us to see your location if you want to use YOURS assets library
}

iOS 6 introduce this method for ALAssetsLibrary class also.

like image 3
Ricardo Rivaldo Avatar answered Nov 16 '22 01:11

Ricardo Rivaldo