Я пытаюсь сбросить HIDIdleTime для программной имитации активности на MacOs Catalina.
Я просмотрел этот пост Как сбросить HIDIdleTime на macOS 10.14 и придумал следующее решение от комментарии:
let service = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOHIDSystem"))
let result = IOServiceOpen(service, mach_task_self_, UInt32(kIOHIDParamConnectType), &connect)
IOHIDSetStateForSelector(connect, 3, 0) // fails
, но я получаю следующее сообщение об ошибке: IORegistryEntrySetCFProperty Failed for kIOHIDActivityUserIdleKey with err : 0xe00002e2
Я проверил здесь и, похоже, это проблема с разрешением.
Я дал приложению специальные права доступа, но это не помогает.
Как мне настроить разрешения (с помощью кода? Или в системных настройках?), Чтобы иметь возможность выполнять вызов IOHIDSetStateForSelector?