使用PHPhotoLibrary保存照片时元数据丢失

时间:2016-07-05 20:47:13

标签: ios objective-c phphotolibrary

我曾经使用ALAssetLibrary的writeImageToSavedPhotosAlbum:metadata:completionBlock将照片保存到相机胶卷,但现在已经在iOS 9.0中弃用了,所以我切换到PHPhotoLibrary的版本,看起来像

[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
    [PHAssetChangeRequest creationRequestForAssetFromImage:image];
}completionHandler:^(BOOL success, NSError *error) {
    if (success){
        NSLog(@"Image Saved!");
    } else {
        NSLog(@"Error: %@", error);
    }
}];

这会保存图像本身,但会丢失元数据(exif ect),而且在保存照片时找不到有关如何保存此数据的任何修复。任何帮助,将不胜感激。 TYIA

1 个答案:

答案 0 :(得分:4)

我认为方法

creationRequestForAssetFromImage:(UIImage *)image;

仅保存图像数据。它不包含元数据。

如果要使用元数据保存图像,可以通过以下步骤进行保存。

首先将图像保存在临时文件夹中,并将其路径设为NSURL。 然后调用方法

creationRequestForAssetFromImageAtFileURL:(NSURL *)fileURL;

使用NSURL进入第一步。