我需要保护我的WebView的URL(使其不可用于Accessibility Inspector)
不要写信告诉我所有交通都可能被嗅到等等。我是一名逆向工程师,我知道这一切,我知道我想要什么。
我需要保护我的WebView的URL,指向。
WebView的URL不存储在WebView中,而是嵌套在其子节点的第一个子节点中,具有WebAccessibilityObjectWrapper
类和“HTML内容”类型。
不幸的是,WebAccessibilityObjectWrapper
类是Apple的“封闭”类,我们无法扩展它。
iOS(5.0+以上)有很棒的功能accessibilityElementsHidden
,它解决了我的问题
但OS X没有。
我的解决方案:
NSAccessibilityChildrenAttribute
,并为其值传递空数组。它确实可以防止在Inspector中穿过“儿童”财产。但不幸的是,不是来自Inspector的“点”功能。如何更优雅地解决它?
答案 0 :(得分:0)
iOS和macOS中的辅助功能协议略有不同。在iOS中,使VO技术透明的“视图”比在macOS中更简单。
您可以使用的属性是:
false
; none
; 问题是,当视图被禁用为可访问性元素时,其所有子视图都变为可见。其中的一个示例是NSButton
。只需禁用“外部”按钮对象,即:
let b = NSButton(...)
// setup your b
b.setAccessibilityElement(false)
不能解决问题。 VO仍然可以看到按钮单元。
为VO隐藏UI元素并不是一件容易的事,但这很棘手。您需要玩一会儿才能理解要隐藏的特定对象的本质。