Usare ALAssetGroup

di Anonimizzato9942 il
3 risposte
Ho provato ad usare ALAssetGroup per accedere alla libreria delle foto sull' iPad, ma ho avuto dei problemi, qualcuno ha un esempio funzionante?

3 Risposte

  • Avevo avuto un problema copiando un esempio da un libro (non si compilava) probabilmente ci sono state variazioni con le nuove versioni di iOS (sto usando la 5). Il problema era nel codice dei blocchi usati per enumerare le foto contenute negli album fotografici. Questo è il codice corretto:
    
    #import <AssetsLibrary/AssetsLibrary.h>
    
    NSMutableArray *assets;
    ALAssetsLibrary *library;
    
    ALAssetsGroupEnumerationResultsBlock assetEnumerator =  ^(ALAsset * result, NSUInteger index, BOOL *stop)
    {
        if (result != NULL)
        {
            [assets  addObject:result];
        }
    };
    
    ALAssetsLibraryGroupsEnumerationResultsBlock assetGroupEnumerator =  ^(ALAssetsGroup *group, BOOL *stop)
    {
        if (group != nil)
        {
             [group enumerateAssetsUsingBlock:assetEnumerator];
        }
    };
    
    per richiamarlo, ed avere l' enumerazione nell' array 'assets':
    
        assets = [[NSMutableArray alloc] init];
        library = [[ALAssetsLibrary alloc] init];
        [library enumerateGroupsWithTypes: ALAssetsGroupAlbum usingBlock:assetGroupEnumerator failureBlock:^(NSError *error)
            {
               NSLog(@"errore");
            }
        ];
    
  • Ho provato ad usarlo ma non mi mostra il contenuto del rullino fotografico, ma solo quello delle altre cartelle
  • Dipende dalla costante ALAssetsGroupAlbum', prova ad usare 'ALAssetsGroupAll' e vedrai tutto, l' elenco delle costanti è questo:
    
    ALAssetsGroupLibrary        
    ALAssetsGroupAlbum         
    ALAssetsGroupEvent          
    ALAssetsGroupFaces          
    ALAssetsGroupSavedPhotos 
    ALAssetsGroupAll  
    
Devi accedere o registrarti per scrivere nel forum
3 risposte