iOS 8:带有过滤器的图像元数据

时间:2014-10-16 08:18:46

标签: ios objective-c metadata alassetslibrary

我正在使用ALAssetsLibrary从图像中读取图像元数据(例如EXIF和XMP):

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    URL* refurl = (NSURL*)[info objectForKey: UIImagePickerControllerReferenceURL];
    ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *myasset)
    {
        NSLog(@"Metadata: %@", myasset.defaultRepresentation.metadata);
    }

    mAssetslibrary = [[ALAssetsLibrary alloc] init];
    [mAssetslibrary assetForURL:refurl
                   resultBlock:resultblock
                  failureBlock:failureblock];
}

对于使用相机拍摄的图像或来自图库的其他图像,此工作正常,并显示所有元数据。但对于过滤的图像(例如使用iOS照片过滤器),只返回非常少的元数据(仅限图像尺寸)。

访问过滤后的图像数据会返回过滤后的图像,因此图像数据很好,只缺少元数据:

ALAssetRepresentation *rep = [myasset defaultRepresentation];
[rep getBytes:imageDataBytes fromOffset:0 length:imageDataSize error:nil];

如何获取应用了iOS照片滤镜的图像的元数据?

此致

1 个答案:

答案 0 :(得分:1)

目前你无法做到。它是Photo API中iOS 8中的众多错误之一。