UIImage metadatos

En mi aplicación, estoy recuperando un UIImage de la biblioteca de activos, esta image tiene metadatos. A continuación, la aplicación cambia el tamaño y la rotation de la image, que a su vez está creando una nueva image. La nueva image no tiene los metadatos originales que se espera pero ¿cómo agrego los metadatos a la image antes de uploadlos?

¡Gracias por adelantado!

Lo arreglé yo mismo, aquí hay un método que usé solo en caso de que alguien más se pregunte cómo hacerlo. 🙂

-(UIImage *)addMetaData:(UIImage *)image { NSData *jpeg = [NSData dataWithData:UIImageJPEGRepresentation(image, 1.0)]; CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)jpeg, NULL); NSDictionary *metadata = [[asset_ defaultRepresentation] metadata]; NSMutableDictionary *metadataAsMutable = [metadata mutableCopy]; NSMutableDictionary *EXIFDictionary = [metadataAsMutable objectForKey:(NSString *)kCGImagePropertyExifDictionary]; NSMutableDictionary *GPSDictionary = [metadataAsMutable objectForKey:(NSString *)kCGImagePropertyGPSDictionary]; NSMutableDictionary *TIFFDictionary = [metadataAsMutable objectForKey:(NSString *)kCGImagePropertyTIFFDictionary]; NSMutableDictionary *RAWDictionary = [metadataAsMutable objectForKey:(NSString *)kCGImagePropertyRawDictionary]; NSMutableDictionary *JPEGDictionary = [metadataAsMutable objectForKey:(NSString *)kCGImagePropertyJFIFDictionary]; NSMutableDictionary *GIFDictionary = [metadataAsMutable objectForKey:(NSString *)kCGImagePropertyGIFDictionary]; if(!EXIFDictionary) { EXIFDictionary = [NSMutableDictionary dictionary]; } if(!GPSDictionary) { GPSDictionary = [NSMutableDictionary dictionary]; } if (!TIFFDictionary) { TIFFDictionary = [NSMutableDictionary dictionary]; } if (!RAWDictionary) { RAWDictionary = [NSMutableDictionary dictionary]; } if (!JPEGDictionary) { JPEGDictionary = [NSMutableDictionary dictionary]; } if (!GIFDictionary) { GIFDictionary = [NSMutableDictionary dictionary]; } [metadataAsMutable setObject:EXIFDictionary forKey:(NSString *)kCGImagePropertyExifDictionary]; [metadataAsMutable setObject:GPSDictionary forKey:(NSString *)kCGImagePropertyGPSDictionary]; [metadataAsMutable setObject:TIFFDictionary forKey:(NSString *)kCGImagePropertyTIFFDictionary]; [metadataAsMutable setObject:RAWDictionary forKey:(NSString *)kCGImagePropertyRawDictionary]; [metadataAsMutable setObject:JPEGDictionary forKey:(NSString *)kCGImagePropertyJFIFDictionary]; [metadataAsMutable setObject:GIFDictionary forKey:(NSString *)kCGImagePropertyGIFDictionary]; CFStringRef UTI = CGImageSourceGetType(source); NSMutableData *dest_data = [NSMutableData data]; CGImageDestinationRef destination = CGImageDestinationCreateWithData((__bridge CFMutableDataRef)dest_data,UTI,1,NULL); //CGImageDestinationRef hello; CGImageDestinationAddImageFromSource(destination,source,0, (__bridge CFDictionaryRef) metadataAsMutable); BOOL success = NO; success = CGImageDestinationFinalize(destination); if(!success) { } dataToUpload_ = dest_data; CFRelease(destination); CFRelease(source); return image; } 

Echa un vistazo a esta respuesta. Creo que te indicará en la dirección correcta.

Email jpg creado en la aplicación que incluye metadatos

Aquí tienes Git Hub Project y algunos enlaces tutoriales Adición de metadatos a las imágenes de iOS de la manera más fácil , Obtener metadatos de imágenes en iOS . Atentamente 😉