I finally just solved an annoying problem: I had downloaded an app on my wife’s iPhone that was no longer available on the App Store (ResistorCode, by Christopher Brown), but because of iPhone sync issues was unable to transfer it to iTunes from the phone.
So my wife got the iPhone 3G when it first came out, and along the way it was synced with multiple computers, and upgraded to iPhone OS 3.0 (then 3.1, 3.1.2 etc.). This caused it to stop being able to transfer purchased apps from the phone to iTunes or the mac.
Since I didn’t have a phone yet and was interested in some apps for when I did finally get one, there were some applications that I downloaded on her phone and figured I’d be able to move to my phone later.
Normally this wouldn’t be a big deal, since the apps can be re-downloaded from the App Store free of charge as long as you use the same account. The problem is that for whatever reason this app is no longer available on the App Store. And all the other applications (free or not) don’t work as well as this one for the tasks I need.
Wife gets new iPhone 3GS, and I take old iPhone3G…
Enter PhoneView which is an OS X application that allows you to view SMS, Contact and the DCIM folder on the iPhone without any iPhone modifications (read “no jailbreaking needed”). When I loaded it up with her iPhone it contained a folder name ApplicationArchives (which is empty on my new phone btw), and appears to be leftover from some revision of iPhone OS 2.0-1. In this folder is a bunch of zip files with the application package names (ie.
com.christopherbrown.resistorcode.zip), but not all apps on her phone interestingly. Downloading them and unzipping them only left me with a folder with
iTunesMetaData.plist, and a
Turns out that’s what in those .ipa files stored in the Mobile Applications folder by iTunes!!! And—how convenient—ipa’s are just renamed zip files! So I renamed the zip file from
ResistorCode.ipa and put it in
~/Music/iTunes/Mobile Applications withe the rest of the apps, and… wait… nothing’s showing up in iTunes.
Until I stumbled on this post (see message #7) and low and behold, all I had to do was double click the newly renamed
ResistorCode.ipa file, and it was added to itunes and able to sync with my new iPhone 3GS!
This likely only worked because we are both using the same iTunes account on computers that are both authorized on said account. The app was also a completely legitimate appstore download at the time it was purchased (though free), and is simply no longer available for download from iTunes.
This also doesn’t fundamentally solve the iPhone syncing problem with my wife’s phone, which appears to only be fixable by a factory reset, and manually syncing the apps back to the phone (you’ll find that restoring the phone after a factory reset also restores the syncing problem).
I’m going to download all the remaining apps from that
ApplicationArchives folder when she gets home tonight, and at least have backups in iTunes, before we decide that it’s worth wiping out all that data from her phone (so many saved games and book lists to risk…)