With this code below, I can extract metadata from an image (pre-added to my project), and render the info as text. This is exactly what I want to do. The SYMetadata is created by pointing to an image via URL. initWithAbsolutePathURL. I want to do the same thing with a UIImage or maybe the image that is being loaded to the UIImage. How do I get the URL to the image that the picker selects? Or how do I create an “asset” from this incoming image?
The documentation describes initWithAsset. Have not figured out how to use it yet though, or if this is the right way to go for my purpose. Any help greatly appreciated.
NSURL *imageURL = [[NSBundle mainBundle] URLForResource:@"someImage" withExtension:@"jpg"];
SYMetadata *metadata = [[SYMetadata alloc] initWithAbsolutePathURL:imageURL];
[textView setText:[[metadata allMetadatas] description]];
Note: I tried adding an NSURL like this imageURL = [info valueForKey:@"UIImagePickerControllerReferenceURL"];, in the “pickerDidFinish” method but the metadata is null after I add this URL to the above code.
If you are using the imagePickerController, the delegate method will give you what you need
From Asset Library – bear in mind that it takes time to complete and has an asynchronous completion block, so you might want to add a completion flag to ensure you don’t access the property before it has been updated.
From Camera:
Here is how to get metadata from a UIImage
But take care – a UIImage can already stripped of much of the metadata from the original.. you will be better off getting the metadata from the NSData that was used to create the UIImage…