I tried updating my iPhone 3G to iOS 4 today (along with millions of others no doubt). The update downloaded fine, but then iTunes tried to backup my iPhone before installing the update, and got stuck on the “Backing up your iPhone” dialog. Well not technically “stuck”, but glacially slow. Like, 1 pixel of the progress bar every 30 minutes. It would have taken all day (and then some) to finish.
After trying a few things, the workaround was simply to hit the Restore button in iTunes. This then “restored” the iPhone using the already-downloaded iOS 4, then copied all my apps back from iTunes. (I had to sync my music manually afterwards.)
The downside was that I lost my app data, which was a bit of a downer, but at least I was up and running with the new OS. And it’s nice to start with a clean slate in a way. My iPhone feels a bit snappier now – not sure if it’s because it was wiped, or if iOS 4 is faster. Anyway, loving it so far.
This forum post outlines the procedure.
Update June 23
I was slightly irritated to discover that my entire Camera Roll was empty upon restore. Turns out that the Camera Roll is backed up by iTunes, but it didn’t restore them from the backup (no idea why). Fortunately I was able to find an old backup of my iPhone on my Time Machine disk from a few days ago (when it was still iPhone OS 3), and use this excellent tool to extract all the Camera Roll photos from the backup:
I had to temporarily copy the backup folder back to ~/Library/Application Support/MobileSync/Backup/ so that the extractor app would find it. Then I just extracted the “iPhone OS Files” entry to a folder, and my Camera Roll images were inside a Media/DCIM folder inside there. Phew!
Apple really could be more explicit about the iPhone backup process – i.e. what’s backed up, where it’s backed up, and the backup file format. Sounds like they’ve changed the whole backup system again in iOS 4 so iPhone / iPod Touch Backup Extractor no longer works. Grr!
Lesson learned for next time: Always import your iPhone Camera Roll using iPhoto or Image Capture before you upgrade…