2016-08-05 1 views
0

Je souhaite que la dernière image enregistrée dans l'appareil photo soit lancée. Je l'ai recherché mais je reçois le résultat pour ALAssetsLibrary qui est obsolète dans iOS 9 alors s'il vous plaît fournissez-moi la solution pour cela parce que je ne reçois pas de solution appropriée pour cela.iOS: Obtenir la dernière image de l'appareil photo

Je veux une solution dans l'objectif C.

+0

check http://stackoverflow.com/questions/8867496/get-last-image-from-photos-app –

+0

j'ai vérifié qu'il donne des erreurs –

+0

peut aider: http://stackoverflow.com/ questions/10200553/comment récupérer la photo la plus récente à partir de la caméra-roll-on-ios –

Répondre

2

S'il vous plaît vérifier ce code ... il peut vous aider.

PHFetchOptions *fetchOptions = [[PHFetchOptions alloc] init]; 
fetchOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]]; 
PHFetchResult *fetchResult = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:fetchOptions]; 
PHAsset *lastAsset = [fetchResult lastObject]; 
[[PHImageManager defaultManager] requestImageForAsset:lastAsset 
              targetSize:self.photoLibraryButton.bounds.size 
             contentMode:PHImageContentModeAspectFill 
              options:PHImageRequestOptionsVersionCurrent 
             resultHandler:^(UIImage *result, NSDictionary *info) { 

              dispatch_async(dispatch_get_main_queue(), ^{ 

               [[self photoLibraryButton] setImage:result forState:UIControlStateNormal]; 

              }); 
             }]; 
+0

ALAssetsLibrary est obsolète dans ios 9 –

+0

Elle a mentionné ** ALAssetsLibrary qui est obsolète dans iOS 9 ** –

+0

ALAssetsLibrary a été déprécié dans iOS 8 et remplacé par PHPhotoLibrary;) – harmeet07

0

Dans iOS 8, Apple a ajouté la bibliothèque Photos qui facilite les requêtes.

import UIKit 
import Photos 

struct LastPhotoRetriever { 
    func queryLastPhoto(resizeTo size: CGSize?, queryCallback: (UIImage? -> Void)) { 
     let fetchOptions = PHFetchOptions() 
     fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)] 

//  fetchOptions.fetchLimit = 1 // This is available in iOS 9. 

     if let fetchResult = PHAsset.fetchAssetsWithMediaType(PHAssetMediaType.Image, options: fetchOptions) { 
      if let asset = fetchResult.firstObject as? PHAsset { 
       let manager = PHImageManager.defaultManager() 

       // If you already know how you want to resize, 
       // great, otherwise, use full-size. 
       let targetSize = size == nil ? CGSize(width: asset.pixelWidth, height: asset.pixelHeight) : size! 

       // I arbitrarily chose AspectFit here. AspectFill is 
       // also available. 
       manager.requestImageForAsset(asset, 
        targetSize: targetSize, 
        contentMode: .AspectFit, 
        options: nil, 
        resultHandler: { image, info in 

        queryCallback(image) 
       }) 
      } 
     } 
    } 
} 
+0

comment je l'ai mis? exemple j'ai self.myImageView.image = ????? (ne comprends pas), merci d'avance –