Обновление с фронта WaveDeck:
Мы неправильно использовали applicationDidEnterBackground
в делегате приложения: запросили завершение всех фоновых операций, используя beginBackgroundTaskWithExpirationHandler
, и оставив основной цикл выполнения внутри applicationDidEnterBackground
.
Таким образом, метод applicationDidEnterBackground
заканчивался только после завершения всех фоновых операций, независимо от того, стало ли приложение активным или нет.
Таким образом, очевидно, что ОС не смогла правильно «сделать снимок» приложения и через некоторое время вернулась из фонового состояния, когда функция делегата applicationDidEnterBackground
завершилась.