This happened to me when I got my new iPhone 4 — all my data synced to the new iPhone except for my apps, most of which I had installed directly onto the phone.
In order to solve this problem, you have to use the Transfer Purchases option to bring all those apps into iTunes, then sync them to the new iPhone. Here is how it’s done:
- Open iTunes and click Store → Authorize This Computer…. Enter the username/email address and password for the account which you used to install apps from the App Store onto your old iPhone and click the “Authorize” button.
- Connect your old iPhone to the computer. Don’t do any updates or backups. When it appears in the iTunes sidebar, right-click on it and choose Transfer Purchases. This will copy all your apps to iTunes.
- When the sync completes, eject the old iPhone and connect the new iPhone. Go to the Applications tab, check off Sync Apps and check off any (or all) of the apps you want on the your new iPhone.
- Click the “Sync” button to transfer your apps to the new iPhone.
Photo by Yutaka Tsutano used via Creative Commons.