I wrote a script to extract and name the various DBs. The files all
load just fine in SQLite Database Browser:
http://sqlitebrowser.sourceforge.net/
The script is here:
http://groups.google.com/group/iphonewebdev/web/bkupextract.pl
The cal and addressbook DBs are uninteresting, but the notes, sms and
call history files don't yet interact with things. Pulling notes into
the Stickies app, or making iPhoney display the iPhone-specific info,
might be interesting ideas.
flip
I wonder... hmmm... couldn't someone build an app that they would give
to a user to "import" into their notes database, and then have the app
run within the notes app. Wish I was brave enough to try.
Does it backup every time it is synced? Do you only have the latest
one? That is effectively only a help for hardware failure, not file
corruption.
Michael
The .plist files are just standard binary plists, as it turns out,
which can be converted with the "plutil":
plutil -convert xml1 plist_filename.mdbackup
I think the backup is restored if you do a full reset of iPhone:
http://www.tech-recipes.com/rx/2489/iphone_hard_reset
but... um... maybe check around before you do this.
so, yeah, if you *really* wanted to cram some stuff into Notes I bet
you could un-binary the plist, inject stuff using SQLite, re-binary
the plist and then hard reset your phone. I for one will just be
treating it as read-only from the client side for now.
As for backing up when it is synced, you could write a crontab script
to make daily/weekly backups of the MobileSync directory -- or just
add it to your backup solution (http://mozy.com/)
flip
http://www.uninnovate.com/2007/07/11/dear-iphone-give-me-my-data/
That link has the description and instructions. I also uploaded the
bare extract_iphone_backup.py file to the group.
Differences:
- Doesn't destructively modify anything, so you can run it on your
real files.
- Automatically extracts backups for all iPhones
- Extracts all the files, not just the sqlite databases
- In addition, it fully extracts any plist files that were stored as
"binary plists inside of binary plists" so they are easier to read and
work with.
Thanks,
Adam Geitgey