My iPhone 3G refuses to transfer purchased apps to iTunes. This is causing me major problems with syncing.
Whenever I attempt to transfer apps from the iPhone to iTunes it goes through the motions, but never actually transfers anything. It displays the various apps in the info area at the top of the screen, but the progress bar never advances.
In comparison when I sync other iPhones, using the same install of iTunes, the progress bar advances and apps are transferred.
The same also happens on clean installs of iTunes on other computers, it seems to be my iPhone that is the common factor. I have tried restoring the phone from a backup, which makes no difference.
This started happening months ago and the phone has since been upgraded to 3.0 and 3.1, but the problem still persists.
Originally it was just a minor irritation, but I made and attempt to fix it which has made things worse. I deleted all the apps from with iTunes and then did "Transfer purchases" in the hope that it might fix something.
It didn't fix anything. Also, I cannot now sync at all.
If I do sync iTunes now does "transferring purchases", fails to transfer and then deletes all the apps (and data) from my iPhone. It also means I can't sync music, podcasts or anything else.
I can't sync anything else, because I can't temporarily turn off app syncing because then iTunes warns that the apps on the iPhone will be deleted.
I also tried de-authorising and re-authorising.
What can I do to get app syncing working again ?
P.S. I have considered deleting all the apps and reinstalling them one by one, in the hope that it will fix the problem. However I don't really want to embark on doing that for 55+ apps and re-entering login details etc for the apps that need them, especially as I might then find out it didn't solve the problem.
The latest update to iTunes 9 has improved things in one key aspect. If I let a sync run to completion iTunes no longer deletes all the apps from my phone. So I can now sync all my other data, even if I still can't sync my apps.
See my answer to the question for how I finally resolved the problem.