My colleague and I encountered an interesting little ‘oopsie’ in the iPad 2 today. To briefly introduce the idea for those unfamiliar, the iPad has a small switch next to the volume control which, when the device was first released, worked as a rotation lock. If enabled, the iPad would stay at the same orientation no matter how you held it. In a subsequent patch this was changed first to a mute switch, whose purpose was fairly self-explanatory and then to either a rotation lock or mute switch depending on user preference.
Which is why when we looked to one of our apps which was being peculiarly silent the first thing we did was try and unmute the device with the switch. It was set to rotation toggle, so we rejected that as an idea. It was a strange problem though, not even the volume control worked in-app.
We found that in some apps the volume control was available, in others it wasn’t. Oddly, the volume control was available only in apps that didn’t make any sound.
The result was unexpected. The device had been muted with the mute switch and then the switch’s function had been changed to rotation lock in settings and voila, we couldn’t unmute the device because we had no mute switch.
So if you’re having trouble even getting the volume controls to respond in an app or seeing a ‘No volume available’ message from an MPVolumeController then you might want to investigate the mute switch. It’s a gotcha.