IPhone – What file type/extension is used to store data for iPhone apps

iphone

I'm thinking about recovering the data on my bricked iPhone, but the hard drive recovery company would probably need to know what file types I want to recover. Most applications store their data in SQLite databases. When I sync to my computer, it saves this in a .mddata file. I'm guessing this file type is only used for the backup process.

What file type/extension is used to store the data on the iPhone?

I realize that apps can probably store it in whatever format they want. I want to know what's the default (or most likely) format for those that store their data in SQLite files.

Best Answer

I'm not sure if you want to know about storage on the iPhone itself, or storage by iTunes in the backups, so I'll take a stab at both. :)

See here for a more in-depth analysis, but the basic gist is that the .mddata files are typically SQLite databases (occasionally encrypted), while the corresponding .mdinfo files are the metadata associated with them. (Older versions of iTunes used .mdbackup files.)

Here's a more practical description of retrieving data from an existing iPhone/iPod backup, and another one which does so with the more recent format. Also, there's this presentation that dives into the format a bit. Here's a blog entry about deciphering the obfuscated filenames, and finally, here's a StackOverflow discussion about decrypting the encrypted .mddata files (which didn't end in a resolution of any kind).

On the iPhone itself, many applications store their data in a SQLite database directly because of the simplicity of doing so. Also, the Core Data ORM uses it under the hood, although that's really just an implementation detail.

But, as you've noted, there's no requirement to use SQLite; applications can store data in something as simple as a plain text file or XML document, or as complicated as a database of their own making.