2017-03-02 15 views
0

これは推奨されていません。ALAssetsLibraryメソッドは推奨されていません

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 
    [library assetForURL:referenceURL resultBlock:^(ALAsset *asset) { 
     ALAssetRepresentation *rep = [asset defaultRepresentation]; 
+0

このhttp://stackoverflow.com/questions/33500266/how-を見ますto-use-phphotolibrary-like-alassetslibrary –

+1

これは廃止されたフレームワーク全体です。 'Photos.framework'を使う – Larme

+0

ありがとう、ありがとう。 – Ren

答えて

1

ギャラリーからすべての画像を取得するためのコードを以下の使用: まずあなたがフォトフレームワークをインポートする必要があります。

#import <Photos/Photos.h> 

画像を取得する前に認証を取る:

[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) 
{ 
    switch (status) { 
     case PHAuthorizationStatusAuthorized: 
      [self performSelectorOnMainThread:@selector(getAllPictures) withObject:nil waitUntilDone:NO]; 
      // [self getAllPictures]; 
      NSLog(@"PHAuthorizationStatusAuthorized"); 
      break; 
     case PHAuthorizationStatusRestricted: 
      NSLog(@"PHAuthorizationStatusRestricted"); 
      break; 
     case PHAuthorizationStatusDenied: 
      NSLog(@"PHAuthorizationStatusDenied"); 
      break; 
     default: 
      break; 
    } 
}]; 

-(void)getAllPicture 
{ 
      NSLog(@"Started..."); 
      PHImageRequestOptions *requestOptions = [[PHImageRequestOptions alloc] init]; 
      requestOptions.synchronous = YES; 
      PHFetchOptions *allPhotosOptions = [PHFetchOptions new]; 
      allPhotosOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]]; 

      PHFetchResult *result = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:allPhotosOptions]; 
      for (PHAsset *asset in result) { 

       NSMutableDictionary *dic = [[NSMutableDictionary alloc] init]; 
       [dic setValue:asset forKey:@"assest"]; 
       [YOUR_ARRAY insertObject:dic atIndex:0]; 
       dic = nil; 
      } 
      NSLog(@"Completed..."); 
} 

あなたはコードの下から画像をretriveことができます。

PHImageRequestOptions *requestOptions = [[PHImageRequestOptions alloc] init]; 
requestOptions.synchronous = YES; 

PHImageManager *manager = [PHImageManager defaultManager]; 
[manager requestImageForAsset:YOUR_ARRAY[INDEX_ARRAY][@"assest"] 
        targetSize:CGSizeMake(self.view.frame.size.width/3, 200) 
        contentMode:PHImageContentModeDefault 
         options:requestOptions 
       resultHandler:^void(UIImage *image, NSDictionary *info) { 
        YOUR_IMAGE_VIEW.image = image; 
       }]; 
関連する問題