4a05844ee31d27439cfa8930b18c48fad83caa6d
Decoded the device error: NSOSStatusErrorDomain 561017449 = '!pri' = AVAudioSession insufficientPriority — the mic was denied because a session was left active (which also blocks the keyboard's own dictation). Root cause: the early-return guards (recognizer unavailable / invalid format) ran AFTER setActive(true) but never deactivated, leaking an active session. Also the .measurement + .duckOthers config is more prone to priority denials. Fixes: - Deactivate any stale active session before starting. - Use .record / .default (least-exclusive recording config). - stopEngine() now always releases the session (no early-out), and the bailout guards call it so the session is never left active. - Map 561017449 to an actionable message (close other audio apps / restart). Device-specific; not reproducible on the sim (blocks at the permission dialog). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Description
Personal productivity and fitness companion — iOS SwiftUI app
Languages
Swift
99.3%
HTML
0.4%
Shell
0.3%