Я работаю над приложением для iPad, ориентированным на iOS 3.2 (чтобы каждый мог его запустить), и когда пользователь нажимает кнопку «Домой», приложение получает сообщение applicationWillTerminate: и отправляет данные об использовании на сервер перед выходом..
Все это прекрасно работает.Но если вы выходите, а затем перезапускаете приложение до того, как оно завершится, оно, похоже, вылетает.
5 секунд, которые вы получаете для очистки при выходе из приложения, начинаются после получения сообщения applicationWillTerminate :, но приложениесразу исчезает с устройства, давая пользователю возможность запустить его снова.
Я думаю, что происходит, что они просто активируют приложение, прежде чем оно завершится, и поэтому они просто возвращаются впервый экземпляр приложения как раз перед его фактическим выходом.Таким образом, второй экземпляр приложения, по-видимому, аварийно завершает работу.
Нет журнала сбоев и помещение сообщения журнала в приложение: didFinishLaunchingWithOptions: не производит никаких журналов в консоли после второго запускаприложение.Вот почему я почти уверен, что на самом деле это не создание второго экземпляра, а просто повторный вход в первый экземпляр, который почти завершен при выходе.
Так есть ли какие-нибудь идеи о том, как избежать этой ситуации?Кажется странным, что вам дают 5 секунд на выполнение действий при выходе, но затем возникает такое странное поведение.
Я обеспокоен, что часть проблемы заключается в том, что приложение ориентировано на iOS 3.2 и на самом делевыход, когда нажата кнопка HOME, и если она просто уходит в фон, это не будет проблемой.К сожалению, изменить это поведение сейчас просто невозможно.