UIApplicationWillEnterForegroundNotification не вызывается, когда приложение ненадолго закрывается

Уведомления UIApplicationDidBecomeActiveNotification и UIApplicationDidBecomeActiveNotification, похоже, не вызываются, когда приложение закрывается ненадолго.

В частности: когда приложение выходит на передний план, оно должно проверить, не были ли изменены какие-либо настройки в приложении настроек. Если вы зайдете прямо в приложение настроек, что-то измените и сразу же вернетесь, уведомления иногда не отправляются. После закрытия и повторного открытия приложения они вызываются, и все в порядке.

Есть ли лучший способ постоянно определять, когда приложение выходит на передний план? или что-то может вызывать конфликт и препятствовать отправке этих уведомлений?


person Anthony Mattox    schedule 13.07.2012    source источник


Ответы (1)


Вместо того, чтобы пытаться поймать каждый переход переднего плана, просто следите за изменениями в настройках, независимо от того, как они происходят, наблюдая за NSUserDefaultsDidChangeNotification. См. Как получить обновление NSUserDefault на iOS 4?

person Rob Napier    schedule 13.07.2012
comment
Идеально. Я также понял, что проблема была не в том, что уведомления были вызваны (что я был уверен, что проверил). Вызов [[NSUserDefaults standardUserDefaults] synchronize]; в начале функции «стал активной» также исправляет это. - person Anthony Mattox; 13.07.2012