В моем приложении я регистрирую уведомление NSSystemClockDidChangeNotification
в AppDelegate
метод application:application didFinishLaunchingWithOptions:options
.NSSystemClockDidChangeNotification действует странно
Опубликовано при изменении системных часов. Это может быть инициировано вызовом settimeofday() или пользователем, изменяющим значения в панели даты и времени . Объект уведомления имеет значение NULL. Это уведомление не содержит словарь пользовательской информации.
Месяц назад он работал отлично, но в эти дни каждый раз, когда я приостановить мое приложение, заблокировать мой iPhone и оставить его 2 минуты, чтобы пройти, при открытии приложения, метод селектор называется, что странно для меня , Я не менял систему или время, я просто пускаю устройство в режим ожидания.
Может ли кто-нибудь помочь мне понять это? Я просто хочу выполнить некоторый код, когда пользователь вручную изменит системное время, просто в этом случае (попробовал с UIApplicationSignificantTimeChangeNotification
, но это не помогает).
Сначала я столкнулся с проблемой в версии 8.2. Сегодня то же самое произошло на 8.3 на том же устройстве. – Slavcho
Мне бывает очень редко, но я не могу полагаться на это уведомление. Он должен быть на 100% безупречным. Может быть, есть и другой подход ... – Slavcho
Мы столкнулись с подобными здесь. Как я понял, это связано с функцией автоматического обновления времени в «settings.app-> General-> Date and time». Система запускает частный метод с 1 часом (+ - миллисекунды из-за того, как работает NSTimer), который вызывает setimeofday() и пост NSSystemClockDidChangeNotification. Это мое наблюдение. Теоретически, вы могли наблюдать, сколько раз эти уведомления были вызваны, и попытайтесь найти тот, который вам нужен. –