使用UIImageWriteToSavedPhotosAlbum()保存图像后获取ReferenceURL

时间:2011-08-31 00:13:37

标签: assetslibrary

我想使用UIImageWriteToSavedPhotosAlbum()获取我保存到相机胶卷中的图像的referenceURL。 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。

提前谢谢你,

喜代

1 个答案:

答案 0 :(得分:2)

使用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 
    }  
}];