首页 > 解决方案 > AXUIElement.h 中的函数可以从主线程以外的线程安全调用吗?

问题描述

macOS 辅助功能是线程安全的,还是可以在应用程序主线程以外的线程中安全调用?(即AXUIElement.h中定义的函数)

我已经与他们合作多年,但我仍然无法弄清楚在什么情况下调用这些函数是安全的。过去,我在从应用程序主线程以外的线程调用它们时遇到问题,但通常这些函数很慢,并且不可能在主线程中使用它们而不导致应用程序的 GUI 阻塞,因此我需要使用它们在一个单独的线程中。

据我所知,文档和头文件没有说明在什么上下文中调用这些函数是安全的或它们的线程安全性。

标签: multithreadingmacosaccessibilityaxuielement

解决方案


我联系了一位苹果工程师直接得到了答案,答案是必须在应用程序的主线程中调用Accessibility函数。


推荐阅读