No later than 48 hours after receiving my iPhone 4S I found an interesting bug with the music player. The problem I have experienced is the “No Music” message when you go to the songs tab of the Music App. My iPhone backup contained about 8GB of music but to my surprise this is what I saw when launching the music player:
The music must have been there because the Summary screen on iTunes for my iPhone showed that I stored exactly 8GB of music in the device. The same data showed on the iPhone itself under Settings –> General –> Usage . To make things more interesting I could play any song in my iPhone using Siri.
That means that the music was definitely in the iPhone but for some reason the Music App index was broken.
I found on the Internet a few solution for this problem and according to my research this is not a new issue at all. When Apple released iOS 4.2.1, many users including the famous MG Siegler experienced the same problem.
I’ve tried pretty much all solutions I found so I thought of summarizing here what I tried and worked for me.
Play some music from the iPhone
Some lucky users solved the problem by simply doing this: 1. Disconnect your iPhone or iPod from your computer and then reconnect it again. 2. Select your device in iTunes. 3. Select Music and start playing a song from iTunes. 4. Sync your iPhone as usual. 5. Launch the Music App, your music should appear.
This is the solution that worked for MG Siegler
I found this solution on the Apple Discussion Boards. This is what you should do: 1. Connect the device using iTunes, and un-check everything in the “Music” section. 2. Sync the device with iTunes. This will remove all music from the device. 3. Re-check any (or all) items you want to sync in the “Music” section. 4. Sync the device with iTunes again. 5. Be patient. This will probably take a long time. 6. Sync the device with iTunes again, just to be sure.
This did not work for me. It’s quite easy to implement so give it a try.
Add some music and force another sync
The steps are the same as in the previous section except that at the end of point 5. you add a few songs to the iPhone and then sync again. It didn’t work for me.
Restore the iPhone using a backup
This is the first of the two disruptive solutions that might eventually solve the problem. They require you to manually enter some information before you can use your iPhone again. That usually includes your Apple Id, Wi-Fi WPA password, Dropbox credentials, Simplenote username/password and so forth, so make sure to have them with you before you restore your iPhone.
- Connect the iPhone to iTunes using the USB cable.
- On the Summary tab click on Restore.
- iTunes will download from Apple servers iOS 5 and will apply it to your iPhone.
- The iPhone will likely restart a couple of times. Don’t panic and don’t disconnect it at this point.
- You will be prompted to setup your iPhone as a new device or restore the settings from a backup. Choose the backup.
This is the solution that worked for me. I really don’t know what happened in the first place because when I got my iPhone I set it up using the same backup.
Either this backup is corrupted, and then I expect the problem to be back as soon as I add some music to the iPhone or there is some glitch with the iTunes sync.
Restore the iPhone as a new device
This is the most disruptive method. It will setup the iPhone as a brand new device, with new settings. The steps you need to follow are the same as in the previous section except in point 5. you will choose to start with a new device.
Warning: This will erase all your data
I didn’t test this because I found it only this morning before writing this post. It’s a tip posted by OS X Daily and it seems to have worked for some people:
- Tap on “Settings” and then on “General” and then on “International”.
- Change your Language to another option, for example if your default is English, change it to Francais.
- Relaunch the Music App and wait for the iPod library to update.
- Your music should be visible now. Navigate back to Language settings and revert back to English (or your default).