我有很多用戶在iOS 8.3上報告崩潰。崩潰日誌狀態:AVSpeechSynthesizer在iOS 8.3上導致崩潰
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'
但我沒有插入任何nil對象到任何數組。
堆棧跟蹤中的最後一個調用是[TTSSpeechSynthesizer _startSpeakingString:orAttributedString:toURL:withLanguageCode:request:error:]
,所以我認爲這可能與AVSpeechSynthesizer
有關 - 並且我瞧,當我刪除所有TTS代碼時,應用程序停止崩潰。
這次崩潰只發生在一小部分用戶身上,目前我唯一能找到的共同點是他們都在8.3。一些正在崩潰的應用程序在一年內沒有更新,並且在更新之前就可以正常運行。
任何人有什麼想法可能會導致此?
我已經使用AVSpeechSynthesizer,但什麼是TTSSpeechSynthesizer? – Andreas
我猜這是AVSpeechSynthesizer在底層使用的一些私人框架。它不能直接使用。 – bmueller
我不記得我是否有完全相同的問題,但是我知道在每次stopSpeakingAtBoundary之後重新初始化合成器,我爲自己節省了一些痛苦。合成器是不可靠的。 – Andreas