We (Spire, building breath tracking wearables) have an unfortunate amount of experience troubleshooting these issues. The developer tooling around measuring battery drain/energy usage is not useful for debugging this sort of thing.
We ended up wiring a disassembled iPhone to battery simulation hardware and are now able to measure battery drain while stepping through a debugger/pushing the phone through an integration test to identify power usage regressions.
Curious how other folks handle these issues.