目前我正在使用的代碼可以編寫更新的元數據,但會創建一個重複的圖像。這裏是代碼:如何修改iOS中的圖像元數據(EXIF)而不重複?
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庫,但我沒有看到任何允許修改元數據的東西。 – Jack
@JackWu你是對的。請添加爲答案。 –
@JackWu,借調。不要把它放在任何其他人的回答表格中(否則一半的獎金將發給任何接受你的評論並在下面的框中解釋它的人!) –