Создайте CFRunLoopSourceRef, используя IOPSNotificationCreateRunLoopSource в Swift
Я пытаюсь подписаться на изменения в состоянии питания на MacOS. Я обнаружил, что есть способ использовать IOKit, хотя он немного запутан. Мне нужно импортировать его с помощью#import <IOKit/ps/IOPowerSources.h>
в заголовке моста ObjC. Затем я получаю доступ к функции IOPSNotificationCreateRunLoopSource, которая имеет подпись:
IOPSNotificationCreateRunLoopSource(_ callback: IOPowerSourceCallbackType!, _ context: UnsafeMutablePointer<Void>!) -> Unmanaged<CFRunLoopSource>!
Я получил некоторую помощь от ответа вМетод обратного вызова для запуска цикла Apple, но все еще не удается создать функцию типаIOPowerSourceCallbackType
в Свифте. Какова недостающая часть, чтобы иметь эту компиляцию?