2011-08-31 16 views
5

Quiero obtener la referenciaURL de la imagen que guardé en el rollo de la cámara utilizando UIImageWriteToSavedPhotosAlbum(). iOS 4.1 o superior pueden hacerlo fácilmente usando AssetLibrary.Obtenga ReferenceURL después de guardar una imagen usando UIImageWriteToSavedPhotosAlbum()

ALAssetsLibraryWriteImageCompletionBlock completionBlock = ^(NSURL* url, NSError* error) { 
    if (error == nil) { 
     savedURL = url; 
    } 
};  
UIImage * originalImage = [info objectForKey:UIImagePickerControllerOriginalImage]; 
NSMutableDictionary * metadata = (NSMutableDictionary *)[info objectForKey:UIImagePickerControllerMediaMetadata]; 
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 
[library writeImageToSavedPhotosAlbum:originalImage.CGImage 
          metadata:metadata 
         completionBlock:completionBlock]; 

Pero, no puedo encontrar una manera inteligente en caso de iOS anteriores donde la única manera de salvar una imagen de la biblioteca de la cámara es UIImageWriteToSavedPhotosAlbum(). Una forma en que pienso es mirando alrededor de la imagen guardada usando ALAssetsGroup, etc. Esto no es inteligente para mí, y solo ayuda a iOS 4.0.

gracias de antemano,

Kiyo

Respuesta

2

Uso writeImageToSavedPhotosAlbum lugar:

[library writeImageToSavedPhotosAlbum:[originalImage CGImage] orientation:(ALAssetOrientation)[originalImage imageOrientation] completionBlock:^(NSURL *assetURL, NSError *error){ 
    if (error) { 
     NSLog(@"error"); // oops, error ! 
    } else { 
     NSLog(@"url %@", assetURL); // assetURL is the url you looking for 
    } 
}]; 
Cuestiones relacionadas