0

В моем приложении я регистрирую уведомление NSSystemClockDidChangeNotification в AppDelegate метод application:application didFinishLaunchingWithOptions:options.NSSystemClockDidChangeNotification действует странно

Опубликовано при изменении системных часов. Это может быть инициировано вызовом settimeofday() или пользователем, изменяющим значения в панели даты и времени . Объект уведомления имеет значение NULL. Это уведомление не содержит словарь пользовательской информации.

Месяц назад он работал отлично, но в эти дни каждый раз, когда я приостановить мое приложение, заблокировать мой iPhone и оставить его 2 минуты, чтобы пройти, при открытии приложения, метод селектор называется, что странно для меня , Я не менял систему или время, я просто пускаю устройство в режим ожидания.

Может ли кто-нибудь помочь мне понять это? Я просто хочу выполнить некоторый код, когда пользователь вручную изменит системное время, просто в этом случае (попробовал с UIApplicationSignificantTimeChangeNotification, но это не помогает).

ответ

0

Как что: Getting iOS system uptime, that doesn't pause when asleep

Но помните, что это решение будет не в состоянии иногда из-вне синхронизации, когда система пытается обновить время с сервера NTP, когда подключение к Интернету не доступен.

0

Я столкнулся с таким же очень странным поведением на моем iPad с 8.1.2, но на iPad mini с 8.2 установленным все работает нормально ... Какая версия iOS у вас на этом устройстве?

+0

Сначала я столкнулся с проблемой в версии 8.2. Сегодня то же самое произошло на 8.3 на том же устройстве. – Slavcho

+0

Мне бывает очень редко, но я не могу полагаться на это уведомление. Он должен быть на 100% безупречным. Может быть, есть и другой подход ... – Slavcho

+0

Мы столкнулись с подобными здесь. Как я понял, это связано с функцией автоматического обновления времени в «settings.app-> General-> Date and time». Система запускает частный метод с 1 часом (+ - миллисекунды из-за того, как работает NSTimer), который вызывает setimeofday() и пост NSSystemClockDidChangeNotification. Это мое наблюдение. Теоретически, вы могли наблюдать, сколько раз эти уведомления были вызваны, и попытайтесь найти тот, который вам нужен. –