设备库图像未显示在ios7的设备中

时间:2013-11-27 07:41:30

标签: ios objective-c uiimageview alassetslibrary

我实现了 ALAsset 库,用于将设备或本地图库图像传输到我的应用程序。它在iOS 6设备中工作。但是如果我想在iOS 7中运行相同的应用程序画廊图像不显示。 请有人建议我如何解决这个问题。 对不起英语很差。

1 个答案:

答案 0 :(得分:2)

使用此代码,它可以在所有iOS版本中完美运行


//Method to get all images from devices library
 - (NSMutableArray*)getAllImagesFromLibrary
 {
     //get all images from image library

     void (^assetEnumerator)(ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop) {
         if(result != NULL) {
             if ([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypePhoto])
             {
                 //Insert objects into array
                 [self.arrOfAllImages addObject:result];
             }
         }
     };

     void (^assetGroupEnumerator)(ALAssetsGroup *, BOOL *) =  ^(ALAssetsGroup *group, BOOL *stop) {
     if(group != nil) {
         [group enumerateAssetsUsingBlock:assetEnumerator];
        }
     };

     //NSMutableArray allacation
     NSMutableArray *arrOfAllImage = [[NSMutableArray alloc] init];
     static dispatch_once_t pred = 0;
     static ALAssetsLibrary *library = nil;
     dispatch_once(&pred, ^{
         library = [[ALAssetsLibrary alloc] init];
     });

     [library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos
     usingBlock:assetGroupEnumerator
     failureBlock: ^(NSError *error) {
         NSLog(@"Failure");
     }];

     return arrOfAllImage;

}