2011-08-31 7 views
5

Desidero ottenere il riferimentoURL all'immagine che ho salvato nel rullino fotografico utilizzando UIImageWriteToSavedPhotosAlbum(). iOS 4.1 o successive possono farlo facilmente utilizzando AssetLibrary.Ottieni ReferenceURL dopo aver salvato un'immagine utilizzando 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]; 

Ma, io non riesco a capire un modo intelligente in caso di iOS precedenti in cui l'unico modo di salvare un'immagine alla biblioteca fotocamera è UIImageWriteToSavedPhotosAlbum(). Un modo in cui penso è guardarsi intorno all'immagine salvata usando ALAssetsGroup ecc. Questo non è intelligente per me, e aiuta solo iOS 4.0.

Grazie in anticipo,

Kiyo

risposta

2

Uso writeImageToSavedPhotosAlbum invece:

[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 
    } 
}];