使用 PHPhotoLibrary 保存照片时元数据丢失
Metadata lost when saving photo using 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。
我曾经使用 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。