iPadOS 13.1, AVSpeechSynthesisVoice.speechVoices get zero voices

Lately updated iPadOS 13.1 (release version, 17A844 ) on my iPad (5th generation)

when call (in Swift):


let voices = AVSpeechSynthesisVoice.speechVoices()


The voices.count returns 0 (zero)

It get no voices.


And the OS log on console:


== START LOG ==

2019-09-25 14:47:00.949625+0800 AVSpeechSynthesisVoiceSynth[343:15026] Creating client/daemon connection: CE08F91D-B4FF-4997-A1C0-51B4F820D1F1

2019-09-25 14:47:00.952167+0800 SpeechSynth[343:15026] Got the query meta data reply for: com.apple.MobileAsset.MacinTalkVoiceAssets, response: 0

2019-09-25 14:47:00.953109+0800 SpeechSynth[343:15026] Consumed extension

2019-09-25 14:47:00.973031+0800 SpeechSynth[343:15026] Got the query meta data reply for: com.apple.MobileAsset.MacinTalkVoiceAssets, response: 0

2019-09-25 14:47:01.018410+0800 SpeechSynth[343:15021] Got the query meta data reply for: com.apple.MobileAsset.VoiceServicesVocalizerVoice, response: 0

2019-09-25 14:47:01.030168+0800 SpeechSynth[343:15021] Consumed extension

2019-09-25 14:47:01.064721+0800 SpeechSynth[343:15021] Got the query meta data reply for: com.apple.MobileAsset.VoiceServicesVocalizerVoice, response: 0


[ there are a lot more "Got the query meta data reply" follows ]

== END LOG ==


but it get right result on my iphone 7, ios 13 (release 17A577)

(it also got similar logs, but fewer line to query meta data reply)

I don't understand what happend on iPadOS 13.1.

Since iPadOS 13 beta began, many bugs in AVSpeechSynthesisVoice

(also some beta recovered, but failed again in next beta)

But this time, it is public release, not beta!

The same issue occur again.


Any infomation is welcome, thanks.

Replies

After 2 days (Sep 27), the voices FINALLY comes back.

I guess iPadOS is downloading something not completed then.

Because after I update my iPhone 7, it also temporarily got no voices.

But it recovered faster than iPadOS, I was confused these days.


I think Apple should provide more information from this API call,

So that developer can handle this situation and tell user what to do.


This make me afraid of any new iOS/iPadOS update,

It's too difficult to handle some strange situations.