来自库的图像的元数据

Pgm*_*eek 5 iphone metadata uiimagepickercontroller

我需要从库中获取图像的元数据.我正在使用代码

- (void)imagePickerController:(UIImagePickerController *)picker 
didFinishPickingMediaWithInfo:(NSDictionary *)info {
   NSURL *assetURL = [info objectForKey:UIImagePickerControllerReferenceURL];

   ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];

   [library assetForURL:assetURL resultBlock:^(ALAsset *asset) {
       ALAssetRepresentation *representation = [asset defaultRepresentation];
       metadataDict = [representation metadata]; 
       NSLog(@"%@",metadataDict);


      } failureBlock:^(NSError *error) {
       NSLog(@"%@",[error description]);
      }];
   [library release];
}
Run Code Online (Sandbox Code Playgroud)

我正在使用IOS 4.2但是我没有得到元数据.任何人都可以帮我这个吗?

Rob*_*und 2

您发布的代码似乎没有任何问题。我已经在模拟器和设备上尝试过了,它可以工作。Apple 的该metadata方法文档指出:

如果系统无法解释该表示形式,则返回 nil。

因此,这很可能意味着您选择的图像没有任何元数据,或者图像的形式是库无法识别的。

您尚未metadataDict在方法中定义,因此如果您想在块之外使用,则必须保留它。

metadataDict = [[representation metadata] retain];
Run Code Online (Sandbox Code Playgroud)

可能您还必须使用__block标识符来声明它。

__block NSDictionary *metaDataDict;
Run Code Online (Sandbox Code Playgroud)