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

标签 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),而且我在保存照片时找不到如何保存此数据的任何修复。任何帮助,将不胜感激。蒂亚

最佳答案

我认为的方法

creationRequestForAssetFromImage:(UIImage *)image;

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

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

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

creationRequestForAssetFromImageAtFileURL:(NSURL *)fileURL;

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

关于ios - 使用 PHPhotoLibrary 保存照片时元数据丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38212430/

相关文章:

ios - AVAssetWriter 元数据日期问题

ios - 关于 NetworkExtension iOS 9 的疑惑

ios - AutoLayout 在 ios 8 中有效但在 ios 7 中无效?

iphone - NSOperation 和 CoreData 线程

ios - PHPhotoLibrary requestAuthorization,不是请求

iphone - 如何将我的 iphone 应用程序打包成 deb

iOS 共享扩展激活规则在不应用于 public.url 类型时触发

ios - Tableview didSelectRowAtIndexPath 不起作用

ios - 应用程序在后台时未调用 didUpdateLocations

ios - 应用程序的 Info.plist 必须包含一个 NSPhotoLibraryUsageDescription 键和一个字符串值,向用户解释应用程序如何使用此数据