Читать метаданные xmp из jpeg в ios

Я пытаюсь получить информацию метаданных xmp из файла JPEG 360°. Итак, я написал этот код, но я не получил информацию о xmp:

UIImage *img = [UIImage imageNamed:@"park_2048.jpg"];
    NSData *imagedata = UIImageJPEGRepresentation(img, 1);
    CGImageSourceRef source = CGImageSourceCreateWithData( (CFDataRef) imagedata, NULL);
    CFDictionaryRef dictRef = CGImageSourceCopyMetadataAtIndex(source, 0, NULL);
    NSDictionary* metadata = (__bridge NSDictionary *)dictRef;
    NSLog(@"metadata = %@", metadata); 

у меня также было предупреждение: Incompatible pointer types initializing 'CFDictionaryRef' (aka 'const struct __CFDictionary *') with an expression of type 'CGImageMetadataRef _Nullable' (aka 'const struct CGImageMetadata *')

Любая помощь, пожалуйста

1 ответ

Я решил, передав все данные, а не UIImage:

NSString* path = [[NSBundle mainBundle] pathForResource:@"park_2048" ofType:@"jpg"];
 NSData *data = [NSData dataWithContentsOfFile:path];
 [self logMetaDataFromImage:data];

- (void) logMetaDataFromImage:(NSData*)imageData {
    NSLog(@"%@",NSStringFromSelector(_cmd));
    CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)imageData, NULL);
    CGImageMetadataRef imageMetaData = CGImageSourceCopyMetadataAtIndex(source,0,NULL);
    NSLog (@"meta data = %@",imageMetaData);
}
Другие вопросы по тегам