AVSpeechSynthesisVoice ignores user-selected voices in iOS 26 (Regression)

We've identified a regression in iOS 26.0 and 26.1 Beta 4 where AVSpeechSynthesisVoice(language:) no longer respects user-selected voices from Accessibility settings.

Issue: When users select a specific voice in Settings → Accessibility → Spoken Content → Voices, calling AVSpeechSynthesisVoice(language:) returns the system default voice instead of the user's selection. This worked correctly in iOS 18.6.2.

Particularly affects:

  • Third-party speech synthesis voices (CereProc, Grammatek, etc.)
  • Apps relying on automatic voice selection based on user preferences

Example:

// User selected CereProc Heather for en-GB in Accessibility settings
let voice = AVSpeechSynthesisVoice(language: "en-GB")
print(voice?.name) // iOS 18.6.2: "HEATHER", iOS 26: "Daniel" (system default)

Interesting observation: The new Accessibility Reader feature in iOS 26 correctly uses the user-selected voice, but Tap to Speak and the API both ignore the setting.

Tested methods:

  • AVSpeechSynthesisVoice(language:)
  • AVSpeechUtterance auto-selection
  • Reflection for new APIs

All return the system default voice, not the user's preference.

Filed: FB[20271264]

Has anyone else encountered this? Any known workarounds to programmatically access the user's preferred voice selection?

AVSpeechSynthesisVoice ignores user-selected voices in iOS 26 (Regression)
 
 
Q