2010-06-29 6 views
0

Je suis en train de créer un propre UIImagePickerController à l'aide de la bibliothèque d'actifs Framework du dernier SDK 4.0. Voici le code:Problème avec UIImagePickerController personnalisé avec SDK 4.0

-(void)viewDidLoad{ 

[super viewDidLoad]; 

groups = [[NSMutableArray alloc] init]; 
ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init]; 
NSUInteger groupTypes = ALAssetsGroupAlbum; 

ALAssetsLibraryGroupsEnumerationResultsBlock listGroupBlock = ^(ALAssetsGroup *group, BOOL *stop) { 
    if (group) 
    [groups addObject:group]; 
}; 

ALAssetsLibraryAccessFailureBlock failureBlock = ^(NSError *error) { 
    NSString *errorTitle = [error localizedDescription]; 
    NSString *errorMessage = [error localizedRecoverySuggestion]; 
    NSString *errorFailureDesc = [error localizedFailureReason]; 

    NSLog(@"Error: %@, Suggestion: %@, Failure desc: %@", errorTitle, errorMessage, errorFailureDesc); 
}; 

[assetsLibrary enumerateGroupsWithTypes:groupTypes usingBlock:listGroupBlock failureBlock:failureBlock]; 
} 

Le problème ici est que je reçois une erreur et le bloc d'échec est appelé à partir du recenseur de gorups. Voici le journal:

Error: Global denied access

Suggestion: This setting can be changed in Preferences.

Failure desc: The user has denied all applications access to their media.

Comme le montre le SDK 4.0 démonstrations en cas affiché un message que l'application souhaite accéder aux albums photos et l'utilisateur doit avoir accès aux grands. Je ne vois aucun message et reçois l'erreur décrite ci-dessus. Y at-il quelqu'un qui peut me dire ce qui devrait être changé dans les préférences pour résoudre le problème?

Merci, Viktor.

+0

Le problème peut être résolu en utilisant Réinitialiser tous les paramètres dans Paramètres-> Général-> Réinitialiser. Que le message de notification apparaîtra. La question principale est maintenant comment ces paramètres peuvent être modifiés sans réinitialiser tous les paramètres? – Viktor

Répondre

2

Pour accéder à cette information, les Serivices doivent être allumés !!! Il n'est pas nécessaire de réinitialiser tous les paramètres. Dans ce cas, la boîte de dialogue Autoriser l'accès apparaît.

Questions connexes