编辑:事实证明,我在最初探索可访问性API时被误导了。一旦我在AX层次结构中找到了安全文本字段,我就可以轻松地设置该值。除此之外,我不知道该怎么处理这个问题,但我想为未来的搜索者更新这个。
我正在编写一些代码,这些代码将使用辅助功能API向目标应用程序发布键盘事件。到目前为止,我已经能够编写一个简单的应用程序,它允许我键入字符串值,然后将带有这些键代码的键盘事件发布到目标应用程序。实际上,字符串将从另一个位置读取。
我还没能弄清楚的是,如何确定是否以及哪些修改键也应该发布。例如,当我键入<code>Hello,world输入到我的测试应用程序中,输入以hello,world1
的形式发送到另一个应用程序,因为我还没有包括用于创建大写H和感叹号的修饰符键。这是双重复杂的多击键字符,如é
或ü
。例如,发送<code>é
有没有一个简单的方法我忽略了,用来识别要与键代码组合的修饰符,以创建特定的NSString或unichar?如果没有,是否有人建议如何进行?到目前为止,我想到的最好的方法是用所有可能的修饰符组合调用UCKeyTranslate
,直到我找到一个与unichar
匹配的修饰符。我使用-[NStringcharacterAtIndex:]
。不过,考虑到上面提到的一些字符的多击键特性,我不确定这是否可扩展或可靠。
提前感谢!