Таймер запуска только когда система активна (macOS) - PullRequest
0 голосов
/ 02 января 2019

Я разрабатываю приложение для Mac, которое выполняет сетевые вызовы. Я использую Timer, чтобы каждые 15 минут выполнять сетевой вызов, чтобы обновить некоторые данные. Я только хочу, чтобы таймер сработал и звонок был сделан, когда пользователь использует систему (иначе он просто делает ненужные звонки), иначе, когда система не спит. Как бы я это сделал? Я читал о том, что у Маха есть монотонные часы, которые обновляются только тогда, когда система не работает, но я не уверен, как реализовать свой таймер для работы по своему усмотрению. Есть ли способ определить, активна ли система? Заранее благодарю за любую помощь.

1 Ответ

0 голосов
/ 02 января 2019

В NSWorkspace имеется 4 уведомления *1002*, которые можно использовать для приостановки и возобновления таймера

  • didWakeNotification Отправляется, когда машина выходит из спящего режима.
  • willSleepNotification Опубликовано до того, как машина перейдет в спящий режим.
  • screensDidSleepNotification Отправляется, когда экран устройства переходит в режим сна.
  • screensDidWakeNotification Размещается при пробуждении экранов аппарата.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...