2013-03-22 2 views
7

я перечислить все активы группы, используя ALAssetsLibraryALAssetsLibrary получить Фотопленка

Вот код:

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 

void (^enumerate)(ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop) 
{ 
    if (group == nil) 
    { 
     // enumerated all albums.. 
    } 

    // I hot to check if group is Camera Roll ? 

}; 

[library enumerateGroupsWithTypes:ALAssetsGroupAll 
         usingBlock:enumerate 
        failureBlock:nil]; 

Как проверить, если какой-то ток Перечислимый является CameraRoll?

Редактировать: Как я протестировал, он всегда был последним, используя это перечисление. Но я не уверен, что это правило, есть ли какие-то ссылки, которые я пропустил?

ответ

14

Чтобы получить фотографии с камерой ролла использовать ALAssetsGroupSavedPhotos при перечислении библиотеки активов:

[library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos 
         usingBlock:enumerate 
        failureBlock:nil]; 

Чтобы обнаружить какую группу вы в настоящее время получаете:

if ([[group valueForProperty:@"ALAssetsGroupPropertyType"] intValue] == ALAssetsGroupSavedPhotos) 
{ 
    NSLog(@"Camera roll"); 
} 
+0

Я видел об этом решении, но мне нужно узнать, какая из моих перечисленных групп - просмотр камеры, посмотрите код –

+0

Спасибо, это сработало так, как я хотел! :) –

3
imageArray = [[NSArray alloc] init]; 
    NSMutableArray*mutableArray =[[NSMutableArray alloc]init]; 

    NSMutableArray* assetURLDictionaries = [[NSMutableArray alloc] init]; 

    ALAssetsLibrary*library = [[ALAssetsLibrary alloc] init]; 

void (^enumerate)(ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop) 
{ 
    if ([[group valueForProperty:@"ALAssetsGroupPropertyType"] intValue] == ALAssetsGroupSavedPhotos) 
    { 
     NSLog(@"Camera roll"); 
     [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) { 
      ALAssetRepresentation *rep = [result defaultRepresentation]; 
      NSLog(@"Asset Name ----> %@",rep.filename); 


     }]; 
    } 
    // I hot to check if group is Camera Roll ? 

}; 

[library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos 
         usingBlock:enumerate 
        failureBlock:nil]; 
Смежные вопросы