ALAssetsLibrary get Camera Roll

B.S. picture B.S. · Mar 22, 2013 · Viewed 7.3k times · Source

I enumerate all assets groups using ALAssetsLibrary

Here is code:

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];

How to check if some current enumerated is CameraRoll?

Edit: As i tested it was always the last, using this enumerating. But i am not sure if it is the rule, are there any references that i missed?

Answer

Sergey Kuryanov picture Sergey Kuryanov · Mar 22, 2013

To get photos from camera roll use ALAssetsGroupSavedPhotos while enumerating assets library:

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

To detect what group you currently get:

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