Получить ReferenceURL после сохранения изображения с помощью UIImageWriteToSavedPhotosAlbum () - PullRequest
5 голосов
/ 31 августа 2011

Я хочу получить referenceURL к изображению, которое я сохранил в кадре камеры, используя UIImageWriteToSavedPhotosAlbum (). iOS 4.1 или выше может легко это сделать с помощью AssetLibrary.

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

Но я не могу найти разумный способ в случае более ранней iOS, где единственным способом сохранения изображения в библиотеку камеры является UIImageWriteToSavedPhotosAlbum (). Один из способов, который я обдумываю, - это просмотреть сохраненное изображение с помощью ALAssetsGroup и т. Д. Это не очень хорошо для меня, а помогает только iOS 4.0.

Заранее спасибо,

Kiyo

1 Ответ

2 голосов
/ 06 октября 2012

Вместо этого используйте writeImageToSavedPhotosAlbum:

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