На Mac, как определить, происходит ли выход пользователя из системы - PullRequest
1 голос
/ 16 апреля 2010

Я очень плохо знаком с платформой Mac и Objective-C в целом, и в моем приложении я хотел бы знать, как определить, что пользователь выходит из системы, и выполнить некоторые действия до этого. Любая информация или указатели для этого?

Ответы [ 2 ]

2 голосов
/ 16 апреля 2010

Официальный способ поставить точку при входе / выходе из системы описан в этих документах Apple Настройка входа и выхода из системы и Техническая записка 2228 . Но я боюсь, что ловушка выхода из системы больше не поддерживалась напрямую.

Итак, второй лучший способ - запустить приложение без какао и получить уведомление от системы, используя NSWorkspace, см. документ и список доступных уведомлений .

Чтобы создать приложение без какао, вам нужно установить в его Info.plist запись с именем LSUIElement, см. здесь . Если для LSUIElement установлено значение «да», приложение не отображается в доке, а выполняет различные операции в фоновом режиме.

1 голос
/ 16 апреля 2010

Посмотрите на Получение уведомлений рабочей области в этом документе Workspace Services .

NSWorkspaceWillPowerOffNotification

Опубликовано, когда пользователь запросил выйдите из системы или чтобы машина была включена выкл.

...