iPhone vibrates in spite of "Do Not Disturb"
Solution 1:
It's my understanding that this is by design.
Do Not Disturb mode is meant to be active when the phone is not actively in use. The idea behind it is that, if the phone is unlocked and you are working with it, you do in fact WANT to be notified of a new item. However, when the phone is locked and dormant, the logic is that you no longer wish to be disturbed, and it will suppress vibration / notification indicators.
So for example, if you are sleeping, and DND is on, then it will remain silent, and not vibrate. If you roll over, pick up your phone to check messages, and it's active, the DND will still allow vibrate to indicate new messages while you are using it.
Solution 2:
When you're in the middle of using the Messages app, and you receive a new message, it's actually the Messages app itself that is asking the phone to vibrate, rather than a notification coming in and causing the phone to vibrate. So you're right, the 'Do Not Disturb' setting doesn't stop apps from asking the phone to vibrate or play audio while they are being used -- it only affects the behaviour of notifications.
This is a design decision that goes all the way back to the first iPhone OS, to the best of my knowledge. You can see it in the behaviour of the 'ring/silent' switch: if you have the switch set to silent, then notifications don't make any sound, but an app is still allowed the play audio (e.g. the Music app).
A 'total and complete silence, no vibrations, please, whatever I'm doing, yes I really meant it' setting would be really useful, but it doesn't exist in iOS. The closest you can get to guarantee silence is to manually:
- Turn 'Do Not Disturb' on, and set 'Silence' to 'Always'.
- In 'Sounds', turn all 'Vibrate' settings off.
- Set the 'ring/silent' switch to 'silent'.
- In Control Center, pull the volume down to zero.
- Use the volume buttons to turn the Ringer volume down to zero.