- [AXSpeechAction retain]:消息发送到解除分配的实例0x1c37e2b0

时间:2015-08-04 11:07:49

标签: ios swift voiceover avspeechsynthesizer

我正在使用Swift中的AVSpeechSynthesizer()阅读有关视障用户的指示和标题说明。

但是,经过一段时间后,应用程序崩溃了:

-[AXSpeechAction retain]: message sent to deallocated instance 0x1c37e2b0.

当然,我的项目中没有包含该类,我甚至不知道是谁创建并删除它。

1 个答案:

答案 0 :(得分:0)

好的,我转向UIAccessibilityAnnouncementNotification处理辅助功能信息,当然,对于其他人的转弯指示的话语问题仍然存在。这就是我表达这个功能的方式:

 func announcementFinished(notification:NSNotification){
        activeAnnouncement=false
    }

 func read(text:String, onlyAccessible:Bool){
     println("reading \(text)")
     if UIAccessibilityIsVoiceOverRunning() && !activeAnnouncement{
               UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification,
                text);
            activeAnnouncement=true
        }
        if (!onlyAccessible && !UIAccessibilityIsVoiceOverRunning()){
            utterance=AVSpeechUtterance(string: text)
            speechSynth.speakUtterance(utterance)
            println("alla fine dell'if")
        }
    }