AXObserverAddNotification在BigSurOSX11.5中失败
创始人
2024-09-29 07:00:29
0

在Big Sur OSX 11.5中,使用AXObserverAddNotification添加观察者通知时,可能会失败并返回错误-10010(kAXErrorServerNotFound)。这是因为在Big Sur中,Apple增加了对隐私和安全的保护。

为了解决这个问题,需要在应用程序的“Info.plist”文件中添加一个新的键:“Privacy - Automation”。在这个键下,添加字符串值“AppName.app”(替换“AppName”为你的应用程序名称)。

示例代码:

AXObserverRef observer = NULL;
AXUIElementRef app = AXUIElementCreateApplication(myProcessId);
AXUIElementRef window;
AXError error = AXUIElementCopyAttributeValue(app, kAXMainWindowAttribute, (CFTypeRef*)&window);
if (error == kAXErrorSuccess) {
    error = AXObserverCreate(myProcessId, myObserverCallback, &observer);
    if (error == kAXErrorSuccess) {
        error = AXObserverAddNotification(observer, window, kAXTitleChangedNotification, NULL);
        if (error == kAXErrorSuccess) {
            CFRunLoopAddSource(CFRunLoopGetCurrent(), AXObserverGetRunLoopSource(observer), kCFRunLoopDefaultMode);
        } else {
            NSLog(@"AXObserverAddNotification error: %d", (int)error);
        }
    } else {
        NSLog(@"AXObserverCreate error: %d", (int)error);
    }
}

在这里,myProcessId是进程ID,myObserverCallback是一个回调函数的指针,用于处理观察者通知。在添加观察者通知之前,先确保将应用程序名称添加到“Privacy - Automation”键中。

如果仍然无法解决问题,可以考虑添加客户端文件共享权限或使用较低版本的操作系统。

相关内容

热门资讯

透视了解!aapoker辅助器... 透视了解!aapoker辅助器怎么用(透视)hhpoker必备开挂-切实真的有挂(哔哩哔哩)一、aa...
透视了解!aapoker ai... 透视了解!aapoker ai插件(透视)德州hhpoker是真的吗-好像真的有挂(哔哩哔哩)1、超...
目前来看!wpk俱乐部怎么透视... 目前来看!wpk俱乐部怎么透视(透视)wpk模拟器多开-果然真的是有挂(哔哩哔哩)1、wpk俱乐部怎...
透视数据!德扑圈有透视吗(透视... 透视数据!德扑圈有透视吗(透视)德普之星透视辅助-都是是真的挂(哔哩哔哩)1、玩家可以在德普之星透视...
代打辅助挂!we poker辅... 代打辅助挂!we poker辅助器(透视)wepoker有辅助功能吗-总是真的有挂(哔哩哔哩)1、下...
据统计!hhpoker真能买到... 据统计!hhpoker真能买到挂吗(透视)hhpoker辅助软件下载-总是有挂(哔哩哔哩)1、hhp...
2026版总结!wepoker... 2026版总结!wepoker免费辅助器(透视)wepoker有机器人吗-一贯是真的挂(哔哩哔哩)1...
有了最新消息!德普之星有透视辅... 有了最新消息!德普之星有透视辅助吗(透视)如何下载德普之星辅助软件-果然存在有挂(哔哩哔哩)1、完成...
据通报!智星德州插件怎么下载(... 据通报!智星德州插件怎么下载(透视)智星菠萝可以辅助吗-好像有挂(哔哩哔哩)1、首先打开智星德州插件...
现场直击!德普之星辅助工具如何... 现场直击!德普之星辅助工具如何设置(透视)德扑之心免费透视-都是真的是有挂(哔哩哔哩)1、在德普之星...