我有一个这样注册的 AXObserver:
AXObserverCreate(pid, axObserverCallback, &_observer);
这是回调方法:
static void axObserverCallback(AXObserverRef observer, AXUIElementRef elementRef, CFStringRef notification, void *self) { .. }
这就是我添加通知的方式:
AXObserverAddNotification(_observer, app, kAXFocusedWindowChangedNotification, self);
我注意到的是添加到观察者(用于通知)(在上述情况下为“app”)的元素似乎与观察者回调中的一组元素(“elementRef”)不对应。好像是副本?至少我无法将它们与 == 进行比较,如果我 NSLog 它们显示不同的地址。
有没有办法比较作为副本的 AXUIElementRefs?(这是返回副本而不是原件的正常行为吗?)