【发布时间】:2014-08-29 22:20:53
【问题描述】:
目前我使用的代码可以写入更新的元数据,但会创建一个重复的图像。这是代码:
if( [self.textView.text length] != 0 && ![self.userComments isEqualToString: self.textView.text])
{
// This code works but creates a duplicate image
NSMutableDictionary *userCommentDictionary = [NSMutableDictionary dictionary];
[userCommentDictionary setValue:self.textView.text forKey:(NSString *)kCGImagePropertyExifUserComment];
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setValue:userCommentDictionary forKey:(NSString *)kCGImagePropertyExifDictionary];
ALAssetsLibrary *al = [[ALAssetsLibrary alloc] init];
[al writeImageToSavedPhotosAlbum:[self.imageView.image CGImage]
metadata:dict
completionBlock:^(NSURL *assetURL, NSError *error) {
if (error == nil) {
NSLog(@"Image saved.");
self.userComments = self.textView.text;
} else {
NSLog(@"Error saving image.");
}
}];
}
有没有办法避免重复? 感谢您的宝贵时间
【问题讨论】:
-
我不相信这是可能的。 AssetsLibrary 根本不允许修改原始资产,所有内容都保存为引用原始资产的新资产。他们使用新的 PhotoKit 库,但我也看不到任何允许您修改元数据的东西。
-
@JackWu 你是对的。请添加为答案。
-
@JackWu,附议。请务必将其填写在任何其他偶然发现此问题的答案中(否则一半的赏金将分配给任何接受您的评论并在下面的框中解释它的人!)
-
谢谢大家,回答已发布:]
标签: ios objective-c exif