This can be done with help of ALASSETS. You can find documentation on it below. https://developer.apple.com/library/ios/documentation/AssetsLibrary/Reference/ALAsset_Class
ALAssetsLibrary *al = [[ALAssetsLibrary alloc] init];
assets = [[NSMutableArray alloc] init];
[al enumerateGroupsWithTypes:ALAssetsGroupAll
usingBlock:^(ALAssetsGroup *group, BOOL *stop)
{
[group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop)
{
if (asset)
{
NSLog(@"%@",asset);
NSLog(@".. do something with the asset");
}
}
];
}
failureBlock:^(NSError *error)
{
// User did not allow access to library
// .. handle error
}
] ;
If you want to populate it to collection view you need to create a custom cell having Alasset type variable.