Getting A Handle On Your iPhone Data (A Mini-Tales From The Command Line Story)

The past two weeks have been fairly hectic, with little time to deal with anything but security updates to software (hence, no software update news). This week, however, my iPhone needed some serious care and feeding as it was taking forever to load up the SMS screens since I have saved most every SMS I have received since purchasing the phone last July. Despite the iPhone using SQLite as the foundation information store for items such as SMS messages and Contacts, a large number of entries in these repositories seems to slow the associated user interfaces to a crawl (which is probably an app/UI issue more than it is a database issue). Rather than just clear the extended conversations, I wanted to have an accessible, readable backup of them first.

I turned to Ecamm’s PhoneView program as it has been much Twittered about lately and is from the makers of the most excellent Call Recorder software (highly useful for Skype interviews). Along with providing access to SMS history (which is what I really wanted) it also claims to provide easy access to your iTunes media, photos, notes, call history and contacts, including the ability to drag and drop each file from the iPhone to your desktop.

After downloading the trial version, just plug in your iPhone and it will automagically recognize the device and load up the data from it:

While I will not be showing the SMS retrieval portion (it would pretty much be a gigantic redacted block), the notes feature,

call history feature (with export to tab-delimited file capability),

and disk view mode make it a very handy tool.

This is one app where I highly recommend tweaking the default preferences since it will come up each time you connect your iPhone if you do not disable that ability.

I was all set to purchase PhoneView, but kept having shopping cart issues and really wanted to get the SMS bits off of it prior to both clearing the SMS databases and installing iPhone OS 2.0.2, so I turned to a less interactive solution that requires a bit of command-line-fu.

First, grab unravel, a small Perl script which you will use to rifle through your iPhone backup files (which are liberally generated these days). Then, using the Finder’s “Go to Folder…” option (via the “Go” menu), enter: ~/Library/Application Support/MobileSync/Backup

Each of the weirdly named directories contains various backups of your iPhone data. Copy the Perl script to the most recently modified folder. Now, you will need the full path of that folder to continue and I suggest using either the Finder toolbar or keyboard-shortcut version of Open Terminal Here to make your life much easier. Either manually, or via “Open Terminal Here”, fire up, change directories and run the Perl script (yours may be named or unravel.perl depending on how you or your browser saved it).

You can browse the results by going to ~/iPhone/Backup in the Finder. The SMS database is in ~/iPhone/Backup/Library/SMS and I recommend grabbing the open source SQLite Database Browser to look at and export any of the SQLite databases.

If you can get through Ecamm’s shopping cart, the $19.95USD is a pretty good deal as it gives you a decent interface and free upgrades for life. If you just need to grab information once in a while or have some casual interest in what can be pulled from the iPhone backup files, then unravel may be a good option for you.

What extra tools do you use to manage your iPhone data? If you’ve used unravel or PhoneView, sound off in the comments!