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:
-
On iOS 16 download 1 or more enhanced voices under “Accessibility > Spoken Content > Voices”.
-
Upgrade to iOS 17
-
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 onAVSpeechSynthesisVoice
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).