Interesting way to address someone working to help you. No where did I indicate voodoo troubleshooting, I quoted the user troubleshooting steps from the iPhone User Guide.
Rockey called them that, because they are voodoo steps. Trying things that should hot have any impact on the function, and yet may magically fix it, I would also call voodoo troubleshooting.
And as far as it deciding not to work, Meg and I have both indicated that it works just fine, however not on your device. Which means that you need to troubleshoot your device.
I've had this problem for many years now. Had it on the iPhone 4, and now on the iPhone SE. The alarm clock is just not reliable, and I was late for work too many times. Recently, I was awake enough to notice that the display showed a ringing alarm, but it wasn't making any sound.
No where in the user troubleshooting is Bluetooth mentioned, so I'm not sure who is performing voodoo here.
This is actually not a voodoo step, but an intelligent one. Rockey even explained the possible relation to the alarm clock. You seem to think of the user manual as the "holy grail" of troubleshooting. Yet it cannot possibly cover every solution to every problem.
If you expect every thing you ever buy to work perfectly, expect that you should never have to do any trouble shooting because things should just work, you are in for a lifetime of disappointment and frustration. Good luck with that.
The alarm clock is a basic and simple feature, and its reliability is a crucial aspect of its functionality. Expecting it to work reliably is not too much to ask in my opinion. The only things the user needs to make sure are 1. Full battery (or charger) 2. alarm is enabled 3. alarm is set for the correct time and not excluded from the day of week. Every other factor that has an effect is a bug. Especially which sound is selected, whether there are other apps running, or whether it's an old installation.
If something is not working then it's either a user error, or a bug.
Troubleshooting when it's a user error may lead to a working function, alright.
Troubleshooting when it's a bug may do two things. It may lead to a (possibly unacceptable) workaround, or it may help pin down the bug that would help a developer fix it, but not lead to an immediate solution for the user.
In this case, I think it's clearly a bug.