Thursday, August 21, 2008
What happened?
What to do?
Honestly, if you do have this bug I don’t know what you should do. I am so super no-way not a developer or programmer or any of that. But, I can tell you what I did and maybe give you a sense of why I did it.
Having said that, I am reasonably convinced that the only thing to be done at this point when you’re facing this bug is to downgrade from iTunes 7.7.1 to iTunes 7.7. This was the only thing that changed at the onset, and this is the only variable that when altered makes a permanent fix.
i threw this site together at 3am. don’t have a smug fit if it’s ugly, hard to read, or even impenetrable. i already know. shh...
email me
I performed the following maneuvers and so far so good for me. So, here is my process. You folks can modify and change these steps as you will, and see what results you come up with. But this is exactly what I did:
1) Went into the phone and did “Erase all Content and Settings”
2) Deleted the following support files from the computer:
/System/Library/Extensions/AppleMobileDevice.kext
/System/Library/PrivateFrameworks/DeviceLink.framework
/System/Library/PrivateFrameworks/MobileDevice.framework
/Library/Receipts/AppleMobileDeviceSupport.pkg
/Library/Receipts/iTunesAccess.pkg
/Library/Receipts/iTunesX.pkg
USER/Library/iTunes/Device Support (the entire folder)
3) Deleted the itunes app itself.
4) Restarted computer
5) Emptied trash
6) Installed iTunes 7.7
7) Attached iphone and when prompted to set up the phone, I forced the phone into DFU mode (not recovery mode - slightly different)
8) Allowed phone to restore to 2.0.1 (this may take a loooooong time).
9) Set up phone as a new phone. Down with the backups!
10) installed some apps, and some music. The installations were a little clumsy but worked alright.
Turns out I was mistaken on this point. I had a developer write me and tell me that the apps actually are producing crash logs, which means activity. I had assumed the iPhone OS was interrupting the launch entirely.
I’m going to skip the process of discovery and start right with what I know. For the complete intrigue, please visit the forum thread. The short version is this: the day after iTunes 7.7.1 came out, my phone was hit with an issue. So were, according to my iTunes 7.7 download count, thousands of other users.
You have this bug if, all at the same time, two things happen: every non-Apple app fails to launch; and the iPod application shows no reference to music installed on the phone
There are three important things to note in the presentation of symptoms. Firstly, every app-store app crashes. Actually, I believe that properly said, the apps are actually failing to launch. They aren’t crashing. You get an app title screen and then your home screen, with no actual app activity at all. Second, the device actually does have media on it. You can see blocks of storage taken up through the iTunes interface, and you can put more media it. It’s that the iPod won’t reference it at all, much less play it. Thirdly, these two naughties appear simultaneously. If your phone shows music, but occasional apps are crashing, you don’t have this syndrome. You have other bugs, maybe, of which I’m sure there may be a few. But not the one I’m discussing here, and this one is the pits.
Nothing quick fixes it. Resets, restores, restores from scratch (no backup), any variation of deleting and reinstalling apps, de-authing and re-authing iTunes, moving playlist songs around, moving album cover art around, any combination of the above... yes, I’ve heard lots of fixes. They all, in my experience, eventually fail and you’re back with loser-phone. Once you have this bug, it’s a sad day. No more Cube Runner for you (the greatest thing ever since ever, in forever and ever).
Briefly: What I consider “so good” that accompanies the “so far” is being able to use my device completely, aggressively, and with abandon. With some suggested fixes, people say “Do X, Y, and Z, and you’re set,” and then they say “Oh, when you’re done you shouldn’t download an app to the phone,” or “I would avoid syncing manually” and then follow with a flourish of “Fix!” (it always has the exclamation point). Well, in those cases, the fix they’re offering is not using your phone fully. Great job. To me fix means being able to use my phone successfully in every way I was before the bug appeared. And it means I don’t have to perform your “fix” once a day or week. It should stick. Why would I be cranky about that? Because scores of users have ploughed through hours of trial and error. And all one has to do is read through the threads. Read the texts. We tried your snake oil. It doesn’t work. It either doesn’t stick or it’s not fully functional. Please take your exclamation point and go home.
And, once again, so far so good. a couple little things i want to mention.
A) Some people have tried less intensive versions of the fix I just described. Those variations may well work. In fact, I suspect that it’s possible they do indeed work fine, depending on how it’s done. Consult the threads for more information on variants. But it could be that perhaps deleting all those support files or what not isn’t really necessary. I don’t know. It’s just what I did. More on why I did it that way below.
B) So I said the app installations were a little clumsy. This encouraged me! I did a couple goofy things while doing the first sync. My fault. But the phone was able to right itself just fine. See? That’s a good thing.
C) Step 7 may be over-kill. It may be enough to put the phone into recovery mode and not DFU. Or, it may be fine to go without either. It made me feel better. And really, isn't that what we're all here for? to feel better?
D) Don't be alarmed if any single or multiple step/steps take a long time or are tough. Going into DFU mode takes a bit of fussing. Restoring to 2.0.1 within 7.7 takes a bit or time. Rewriting the apps takes time. Any one step might be difficult. The worst thing you can do is let yourself go nuts, assume the phone has "frozen" on some step that it is performing just fine on its own, thank you, and yank it, thereby making it worse. Hasty hands break things.
E) Individual apps may still crash. That, again, is actually be welcome behaviour. It would mean the apps are behaving independently once again, with their own unique idiosyncrasies. It means they are actually able to launch and their functionality is no loner tied to flaws in the OS. They may even crash so bad you need to reset your phone. You’re still good. If single apps crash, but your music is still in place, and other apps work (or work after a reset)... there's your clue that we may be on to something.
F) DFU mode is a slightly more macho version of recovery mode. The difference in what you'll see is that your phone won't get that lovely "put me in itunes" screen. instead it will stay frighteningly black. There's a nifty little video of DFU mode here. Once again, that may not be necessary. In fact, more on that below....
G) You may not see an Apps item in your iTunes library when you’re done. Sometimes I would, other times no. Simple fix: download a free application. They all pop back up.
So if less aggressive fixes may work, then, why did I do it they way I did? Why do I bother recommending ditching all those support files and wiping the phone completely?
Well, I’m pretty sure there is magic that happens between the iPhone and iTunes when they connect. It is a magic far more involved than just dropping data in place. It is a dark magic, to be sure. And, I’m also convinced from a development standpoint, it is a sloppy and inefficient magic. And whatever that magic is, it’s done with some fog of horror that sticks to the walls of the phone. (Again, more “technical” suppositions are in the threads)
I myself only wanted to do this whole thing once. I should say once more, as I had just about given up on various tests and trials and other false hopes (oh, the dangling tease that was 2.0.1 firmware). If my complete slash-and-downgrade plan didn’t work, I was going to call it a day.
So, my thought was this: I wanted to do like the North did to Georgia. I wanted to burn the fields and leave naught but barren waste. I didn’t want the South... I mean, the Bug to have any infrastructure, any footing, anything at all that it could use to rise up again. And since I don’t know where that problem lived, and I don’t know where else it may park itself outside of where it lived, I wanted to force my iTunes installation 7.7 to re-write all those support files and I wanted to force my phone to be as brand new as possible.
My process, however, takes time. And since this is a bug, your mileage may vary. So please don’t take my version here as the end all. There may well be a developer at Apple right now, working on this very issue, and reading this and saying “Wow. Yeah, that’s too much doing that Yankee up there is doing”, and he may well be right. Still, I am convinced that doing a full wipe of the phone can only be good.
But for me, for now, and maybe for you... just kill it all. That’s my bet and my recommendation.
And, of course.. this is a work around.
Apple is the one really on the hook for a fix.
I have a 1st gen iPhone, and I’m running OSX 10.5.4. Unfortunately I can’t vouch for any other arrangement of OS or iPhone version. Also, according to one very casual estimate I got from a developer, it seems it may only affect about 1/25 users (a rough, unscientific number based on asking for a show of hands from 100 people). If you’re in the clear, good!