3

我曾经使用 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

4

1 回答 1

4

我认为方法

creationRequestForAssetFromImage:(UIImage *)image;

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

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

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

creationRequestForAssetFromImageAtFileURL:(NSURL *)fileURL;

使用您在第一步中获得的 NSURL。

于 2016-07-06T16:39:24.293 回答