Query AVSpeechSynthesisVoice for Quality>1 and Downloaded=True

I want to give the user the option for my text-to-speech app to use a voice that they choose - but when I call "AVSpeechSynthesisVoice.speechVoices()", I get a list of all possible voices.

Each voice has properties like .gender, .quality and voiceTraits which provides isNoveltyVoice and .isPersonalVoice - but I can't seem to find a property that tells me whether the voice has been downloaded (and can be used) or not.

How can I tell which voices the user has downloaded so I can present a list of what is currently available to use?

Also - I know I can't download voices for the user - but am I able to use a deep link to pop open the correct place for the user to download the voices? (ie Settings->Accessibility->Spoken Content->Voices->English)

Thanks in advance!

Never mind. I appear to have been mistaken.

The list of voices that is returned by speechVoices() only includes voices that are actually downloaded and available. I'm not sure what led me to believe otherwise.

However, this does lead to a slightly different question:
Is there a way to get a list of voices that are available to be downloaded - but have NOT been? And to know what quality options are available for download?

I would like my app to be able to determine when Apple makes new "Premium" voices available so I can notify my users.

Query AVSpeechSynthesisVoice for Quality>1 and Downloaded=True
 
 
Q