Создайте CFRunLoopSourceRef, используя IOPSNotificationCreateRunLoopSource в Swift

Я пытаюсь подписаться на изменения в состоянии питания на MacOS. Я обнаружил, что есть способ использовать IOKit, хотя он немного запутан. Мне нужно импортировать его с помощью#import <IOKit/ps/IOPowerSources.h> в заголовке моста ObjC. Затем я получаю доступ к функции IOPSNotificationCreateRunLoopSource, которая имеет подпись:

IOPSNotificationCreateRunLoopSource(_ callback: IOPowerSourceCallbackType!, _ context: UnsafeMutablePointer<Void>!) -> Unmanaged<CFRunLoopSource>!

Я получил некоторую помощь от ответа вМетод обратного вызова для запуска цикла Apple, но все еще не удается создать функцию типаIOPowerSourceCallbackType в Свифте. Какова недостающая часть, чтобы иметь эту компиляцию?

Ответы на вопрос(1)

Ваш ответ на вопрос