Skip to content

BUG : On IOS filenames returned by Display.getInstance().openGallery() lose their EXIF info #2909

@pinktriangle

Description

@pinktriangle

On the full path filenames returned by Display.getInstance().openGallery()...

Android does retain exif info and my native android code does extract the information as expected.

On ios, my objective C code does NOT find any exif information. Opening the image in Apples photos app shows the date and location on a map so exif info is there for my test image.

Question : Is there any way you can confirm that ios images do retain their exif info returned by filenmaes returned by Display.getInstance().openGallery() ?

This is my (stripped down - removed also tries to get gps lat/long too) objective C code and it returns null for dateTakenString.

(NSString*)nativeGetImageExif:(NSString*)param
{

NSURL *imageFileURL = [NSURL URLWithString:param];

CGImageSourceRef imageSource = CGImageSourceCreateWithURL((CFURLRef)imageFileURL, NULL);
if (imageSource == NULL) {
    return @"Error:Cannot load image";   <---- do not see this
}

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO], (NSString *)kCGImageSourceShouldCache,nil];

CFDictionaryRef imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, (CFDictionaryRef)options);


CFDictionaryRef exif = CFDictionaryGetValue(imageProperties, kCGImagePropertyExifDictionary);
if (exif == NULL) {
     return @"Error:No exif";     <---- do not see this
}

NSString *dateTakenString = (NSString *)CFDictionaryGetValue(exif, kCGImagePropertyExifDateTimeOriginal);

return dateTakenString;  <---- this returns null

}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions