AVSpeechSynthesisVoice.speechVoices() Includes Voices That Aren't Available after Upgrading iOS

AVSpeechSynthesisVoice.speechVoices() returns voices that are no longer available after upgrading from iOS 16 to iOS 17 (although this has been an issue for a long time, I think).

To reproduce:

  1. On iOS 16 download 1 or more enhanced voices under “Accessibility > Spoken Content > Voices”.

  2. Upgrade to iOS 17

  3. Call AVSpeechSynthesisVoice.speechVoices() and note that the voices installed in step (1) are still present, yet they are no longer downloaded, therefore they don’t work. And there is no property on AVSpeechSynthesisVoice to indicate if the voice is still available or not.

This is a problem for apps that allow users to choose among the available system voices. I receive many support emails surrounding iOS upgrades about this issue. I have to tell them to re-download the voices which is not obvious to them.

I've created a feedback item for this as well (FB12994908).

Replies

Thanks for filing a feedback item and posting the ID here! I will make sure this gets to the right team