写真のメタデータを含む iOS 用のカメラ アプリを作成しています。assetlibrary を使用してメタデータを書き込みました。メソッド「writeImageDataToSavedPhotoAlbum」には、アセット URL を返す完了ブロックがあります。メタデータと画像を取得できるように、この URL を保存する必要があると思います。ただし、情報を取得するためにassetURLをどうすればよいかわかりません。
私のコード:
- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
if ([mediaType isEqualToString:(__bridge NSString *)kUTTypeMovie]){
NSURL *urlOfVideo = [info objectForKey:UIImagePickerControllerMediaURL];
} else if ([mediaType isEqualToString:(__bridge NSString *)kUTTypeImage]) {
CLLocation *location = [[CLLocation alloc] init];
NSDictionary *metadata = [self getGPSDictionaryForLocation:location];
UIImage *theImage = [info objectForKey:UIImagePickerControllerOriginalImage];
ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init];
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(theImage)];
[library writeImageDataToSavedPhotosAlbum:imageData metadata:metadata completionBlock:^(NSURL *assetURL, NSError *error){
if (error) {
NSLog(@"error");
} else {
////what do I do with the assetURL?
self.imageURL = assetURL;
NSLog(@"url %@", self.imageURL);
}
} ];
}
[picker dismissViewControllerAnimated:YES completion:nil];
}