EXIF key names explanations - metadata

Does anyone know of a good explanation of EXIF key names? I am writing a photo organizer and want to get as much information as possible out of the photo as I can.
However, the EXIF key names are not very helpful. For example, from what I can tell (by exporting images from iPhoto)
album or set name is stored as 'fixture_identifier'
tags or keywords are stored as either 'keywords' or 'subject'
And so on.
Anyone have some valuable insight in this area?

Here is a list of EXIF tags:
https://sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html
Thing is that you cannot be sure of what a camera or application will put in each, so you'll have to create code to handle those corner cases (where tags or keywords are in either keywords or subject).
Also, there are maker specific tags, as you can see in the tag id 0x927c, which you should also handle specifically.

All listed here:
http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif.html

The exiv2 library has a list of EXIF tags, see http://www.exiv2.org/tags.html

Related

Providing EXIF-free images in a gallery or other webpage

First, thanks for any and all help regarding this topic.
Sites like Facebook and Twitter strip EXIF information from images as they are uploading. My goal is to allow users to upload images to our platform (working with Nextcloud and others) with full EXIF information, however, we need to display images that do not contain EXIF information or any metadata. Without stripping and creating a second, Exif-Free image for each, is it possible to simply hide that EXIF info so that, if a user downloads that image, the EXIF is not embedded?
We were told that the only way to do this is to have a second, exif-free copy (the order of when that's created is irrelevant pre/during/post upload). I'm hoping there's a way that we can simply display such a copy without doubling our physical space requirements.
Thanks again for your help.
Exif is metadata, along with IPTC, XMP, AFCP, ICC, FPXR, MPF, JPS and a comment, just for the JFIF/JPEG file format alone. Other picture file formats support even more/other metadata.
You wrote it yourself: a download - so it's a file in any case. Pictures are files, just like executables, movies, texts, music and archives are files, too. And metadata is part of its content, so whoever accesses the raw bytes of the file can grab everything in it. Which is not "please don't look" proof. If you
create that on the fly by stripping metadata everytime a download is requested,
or if you do it once to preserve performance and instead occupy space remains your decision.
If there would be something as simple as a "don't show" feature then it would still be in the file and could be extracted easily by software written to ignore that instruction. Seriously, there's no shortcut to that - do it properly and don't spare yourself from getting work done at the wrong end.

How does one add custom metadata tags to an image on the iPhone?

I tried adding custom entries in the exif dictionaries I received from an image. This didn't work. I'm assuming this is due to the fact exif is a standard that is already defined.
Basically I am trying to create a metadata tag that can be placed in jpegs that will have no character limit.
I read that XMP metadata tags do not have character limits. Is this true? If so how would I create these on the iPhone?
Thank you.
I'm not sure what you've all tried code wise, but Caffeinated Cocoa has a pretty good blog entry on Image Metadata that I've used in an application for a client a while ago that might help you.
Also, the SO post Problem setting exif data for an image looks like it references the Caffeinated Cocoa. Although this question is a little over a year old, it still might help.
Try giving these a shot.

Displaying content from an RSS feed in an iphone app

I have seen some tutorials on the subject, but they all go half into it and then leave a person wondering.
How can I stream an rss feed into an iphone app.
I know the xml should be read in, parsed etc.
But then I am not sure how to display the information I need like, images, embedded videos etc.
If someone could just point me in the right direction I would be extremely grateful.
Thanks in advance
First, you need some type of XML parser. You can use the built in NSXMLParser or a slew of other parsers that you will need to download. Each have their pros/cons depending on what type of reading/writing you will be doing with your RSS feed.
To display the data, I would recommend a tableView. You can create custom UITablvewCells for each cell to hold the data however you want to display it. There are several tutorials available for that if you want to Google for it.
As for data, read all the RSS data into an array you create and have the tableView access that array.
Again, there are many online tutorials for this already but it seems like you need help with displaying the data. A quick Google lookup for how to create custom UITableViewCells should provide you lots of helpful links. Good luck.

PDF Parsing in iPhone

I am trying to read a PDF on iPhone, I got to know that we can get the info about PDF from CGPDFDocumentGetCatalog method. But, this method returns a CGPDFDictionaryRef. I have browsed through the documentation and didn't find any method to extract its Key/Values. Please help me if anybody has solution for the problem. Or you can tell if we can have any other way to extract data from PDFs.
It seems that you have to extract the names of the values first. Take a look to this site especially the allScriptsInPDFDocument method
I have just checked out the documentation and it has a load of functions for getting key value pairs. If you don't know what the keys are you can use CGPDFDictionaryApplyFunction to with an appropriate callback.
Alternatively, check out the PDF Specification for a detailed description of the catalog (section 7.7.2).

Search file content on iphone

Is there an Iphone SDK API to search resource files?
I have a set of html file resources that I'd like the user to be able to search in, but I want to avoid reading the files into memory and searching them one by one.
Is there any API that can help me do this?
No, you'll have to read the files in to search them. There's nothing like "Spotlight" on the phone.
I would suggest you using SQLite FTS3 extension for full text search through your documents. It has quite good capabilities for it. But you will need to strip HTML tags first so it can index only your text and don't bother with tags