如何获取与AXUIElement对应的Objective-C类名?

如何获取与AXUIElement对应的Objective-C类名?,第1张

概述Apple的Accessibility Inspector工具显示与当前检查的UI元素对应的Objective-C类.请参见此屏幕截图底部的NSButtonCell: 但是,如何在我自己的代码中提取此信息? Apple’s seven year old UIElementInspector sample code中的辅助功能方法不会显示元素的类名. 对Accessibility Inspector Apple的Accessibility Inspector工具显示与当前检查的UI元素对应的Objective-C类.请参见此屏幕截图底部的NSbuttonCell:

但是,如何在我自己的代码中提取此信息? Apple’s seven year old UIElementInspector sample code中的辅助功能方法不会显示元素的类名.

对Accessibility Inspector进行反向工程,暗示可以通过AXClassname属性获取Objective-C类名,但该属性对我来说总是为零.

解决方法 AppKit将对具有com.apple.private.accessibility.inspection权利的应用程序的AXClassname属性和其他几个属性的访问权限限制. Accessibility Inspector用于访问辅助功能信息的xpc服务具有此权利.由于这是私有权利,我相信它只能添加到Apple证书签名的应用程序中.

您可以通过从辅助功能检查器的xpc服务中剥离权利来自行确认权利是关键的(首先备份辅助功能检查器!):

codesign -f -s - /Applications/Xcode.app/Contents/Applications/Accessibility\ Inspector.app/Contents/Frameworks/AccessibilityAuditDeviceManager.framework/xpcServices/axAuditService.xpc

如果您随后打开辅助功能检查器,您将看到大多数所有功能都能正常工作,除了在私有权利上选通的类名之外.

具有授权xpc服务的辅助功能检查器

具有无标题xpc服务的辅助功能检查器

总结

以上是内存溢出为你收集整理的如何获取与AXUIElement对应的Objective-C类名?全部内容,希望文章能够帮你解决如何获取与AXUIElement对应的Objective-C类名?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1240298.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存