Lack of Progress Bars

So, despite thinking it would be a good idea to hold off on the iPhone OS 4 upgrade, or iOS4 as it has now been rechristened, a few minor oddities in the current install coupled with the prompt release of the iPhoneDevTeam‘s Pwnage 4.01 tool had me thinking I might as well give it a bash and fire the new hotness onto my 3GS.

In retrospect, this was a silly idea.

Anyway, this particular tale of woe is chronicled below to help any fellow lost souls who tread this path in future.

Backing up your iPhone is always a good idea. Unless of course you have installed AppSniper, a useful price monitoring tool for the iPhone that just plain refuses to play nice with iTunes. For the longest time, it caused all syncs to take an inordinate amount of time, but this was eventually fixed. Seemingly the same does not hold true for the backup procedure, which with AppSniper installed was taking hours. With it removed, minutes. While still a useful app to have, I think it has now proven itself too awkward to fit in with any sensible workflow. Props to RevStu‘s WoSblog for the reminder on that one.

Given that the inordinately useful Infiniboard, as seen on this YouTube link does not yet work under iOS4, and that the new folders are a pretty half baked concept for a replacement, it seemed like a decent idea to remove all but the very core apps from my iPhone until this rectifies itself. On the plus side, this removal of the hundred plus games on the damn thing, weighing in at about 12GB, should reduce the time taken to restore the device.

Why half baked? Well, often I want to play a game. But I’ve no idea which game. With everything in one big flickable page it was easy to zip through until something caught my eye. With things stuffed away in folders, discoverability dives to zero. Perhaps the mini-icons inside the folders are more legible on the IPhone4’s Super Turbo Retinal Hyper Fighting Edition display, but it’s next to indecipherable on a 3GS.

Anyway, with this app bloodbath complete and re-backed up, the games could begin. As is the way of all (Mac based, at least) jailbreaking, we get a hold of the official ipsw firmware package, point PwnageTool at it and let it spit out a customised ipsw archive to play with. I’m assuming that you’ve read the warnings regarding any previous unwanted baseband updates, especially if you’ve had a recent official firmware on there lately.

Now to simply stick the iPhone in restore mode by turning it off, holding (and keep holding) down the home button and powering back on until the restore prompt appears. Plug into the computer, and when iTunes prompts you to restore, hold down the option key, click the restore button and point it at your newly made custom firmware.

While this has worked perfectly well on all previous attempts a jailbreak-o-upgrades, this time it was a bit flaky. First off iTunes spat out one of its ever-so-helpful ‘unknown error’ dialogues, so thinking this might be tied to an increasingly dodgy USB interface on the MacBook I unplugged all devices from USB bar the phone, rebooted and tried again. This seemed to do the trick, until reaching a state of near-completion.

Beyond this point it simply would not move, regardless of how many rubber chickens I waved near it in attempts to appease whatever malevolent gods bestowed iTunes on us in the first instance.

Not to panic. Well, I did panic, but thanks to the Googles I realise I am not the only person to have this issue. Massive, massive thanks to a ‘nicksherb’ on this MacRumors forum thread, as his advice was the exact thing to get over this sticky wicket. For Mac users, we delete the folders “/System/Library/PrivateFrameworks/DeviceLink.framework” and “/System/Library/PrivateFrameworks/MobileDevice.framework”, reboot and reinstall iTunes 9.

Repeating the restore procedure this time went without a hitch. Superb.

Of course, it’s deleted all of my music again, so it’s going to take the rest of the day to re-encode and copy them over again. I’ll let that slide as the restore is a factory reset style solution, and the price paid for the flexibility of jailbreaking. Still, it’s not doing my carbon footprint or electricity bill any good.