ApplicationState UIApplication возвращает неправильное значение

Мое приложение выполняет фоновые выборки, чтобы обновить некоторые данные. В моем первоначальном виде контроллера viewDidLoad метод я хочу определить, работает ли мое приложение для фоновой выборки или нет?

Я знаю, что очень легко проверить состояние приложения, используя это:

if ([UIApplication sharedApplication].applicationState == UIApplicationStateBackground) {
    return; // have a breakpoint here <----
}

Но по какой-то причине, даже когда я обычно запускаю приложение, иногда программа может достичь этой точки останова. Который означает, что applicationState возвращается UIApplicationStateBackground, Может быть, запуск приложения происходит в тот момент, когда запускается фоновая выборка или что-то в этом роде?

Я не хочу выполнять код, который в моем viewDidLoad метод, когда приложение работает в фоновом режиме, поэтому мне нужно это if блокировать в viewDidLoad,

1 ответ

Ко времени, когда ваш метод viewDidLoad вызывается, он будет на переднем плане (с состоянием UIApplicationStateInactive или UIApplicationStateActive), поэтому нет смысла запрашивать UIApplicationStateBackground в viewDidLoad, для получения дополнительной информации прочитайте эту ссылку.

введите описание изображения здесь

Другие вопросы по тегам