gpt4 book ai didi

objective-c - Siri 听写绕过 UITextView :shouldChangeTextInRange Delegate

转载 作者:太空狗 更新时间:2023-10-30 03:22:26 25 4
gpt4 key购买 nike

我使用 (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *) 对输入到 中的每个字符执行实时正则表达式验证UITextView.

这很有效,甚至可以处理可能包含无效字符的粘贴文本。

但 Siri 似乎并不关心这些事情,而是直接将其听写转储到 (void)textViewDidChange:(UITextView *)theTextView 中,绕过 shouldChangeTextInRange 委托(delegate)和避免验证检查。

这对我来说似乎是一个安全漏洞,并且破坏了所有其他输入 channel 遵循的 API 流。

关于如何让 Siri 听写符合调用 shouldChangeTextInRange 的任何想法?

最佳答案

我认为这就是答案....如果:

 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

被调用然后它是一个用户输入。因此,在其中放置一个 BOOL 以记住是否检查了“shouldChange”。

然后,麦克风输入会调用:

-(void)textViewDidChange:(UITextView *)textView

在此处检查您的 BOOL,如果为 NO,则为麦克风输入。

(在 textViewDidChange 的末尾设置 BOOL = NO:)

这对我来说非常有用。

关于objective-c - Siri 听写绕过 UITextView :shouldChangeTextInRange Delegate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26739151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com