2011-08-31 18 views
5

Tôi muốn lấy referenceURL vào ảnh mà tôi đã lưu vào thư viện ảnh bằng UIImageWriteToSavedPhotosAlbum(). iOS 4.1 trở lên có thể làm điều đó dễ dàng bằng cách sử dụng AssetLibrary.Lấy ReferenceURL sau khi lưu ảnh bằng 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]; 

Nhưng, tôi không thể tìm ra một cách thông minh trong trường hợp của iOS trước đó nơi con đường duy nhất của lưu hình ảnh vào thư viện camera UIImageWriteToSavedPhotosAlbum(). Một trong những cách tôi nghĩ về là nhìn xung quanh hình ảnh được lưu bằng cách sử dụng ALAssetsGroup vv Điều này là không thông minh cho tôi, và nó chỉ giúp iOS 4.0.

Cảm ơn bạn trước,

Kiyo

Trả lời

2

Sử dụng writeImageToSavedPhotosAlbum thay vì:

[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 
    } 
}]; 
Các vấn đề liên quan