暂停语音时例外

时间:2017-01-02 16:18:45

标签: ios swift3

我尝试暂停语音并获得例外:

  

UIAccessibilityPostNotification(UIAccessibilityPauseAssistiveTechnologyNotification,   UIAccessibilityNotificationVoiceOverIdentifier)

     

' NSInvalidArgumentException',原因:'您必须传递标识符   暂停的辅助技术。请参阅UIAccessibilityConstants.h   有效值列表。'

出了什么问题?谢谢!

2 个答案:

答案 0 :(得分:4)

我也遇到了这个问题,尽管自ios9以来标识符已被标记为可用,但它仍然在ios10上继续崩溃。在查看文档后,我认为暂停/恢复辅助技术'毕竟不是为了配音。

"应该发布暂时暂停辅助技术的操作。  例如,您可能希望在应用播放动画时暂停在Switch Control中进行扫描。  应使用表示辅助技术的标识符作为参数。  目前,这些通知仅适用于Switch Control 。  通知必须平衡。也就是说,每个UIAccessibilityPauseAssistiveTechnologyNotification  应该跟一个匹配的UIAccessibilityResumeAssistiveTechnologyNotification使用相同的参数。  如果用户执行需要辅助技术恢复操作的操作,  它可能会在收到相应的UIAccessibilityResumeAssistiveTechnologyNotification之前这样做。  参数是NSString。"

答案 1 :(得分:1)

您必须使用UIAccessibility.AssistiveTechnologyIdentifier,例如:

   UIAccessibility.post(notification: .pauseAssistiveTechnology,
                         argument: UIAccessibility.AssistiveTechnologyIdentifier.notificationVoiceOver)