Я использую Xcode 7.1 и Swift 2.1 и сталкиваюсь с очень странным сбоем в моем приложении. Мое тестирование выполняется на реальном устройстве, в частности на iPhone 6 с iOS 9.1.Приложение «сбой» при закрытии в фоновом режиме
Сценарий 1 - Я использую свое приложение как обычно, я дважды нажимаю кнопку «домой» и прокручиваю вверх по моему приложению, чтобы выйти из него. В этом случае Xcode переходит из «Запуск [имя приложения] на [имя устройства]» на «Законченный запуск [имя приложения] на [имя устройства]», как и должно быть.
Сценарий 2 - Я использую мое приложение как нормальные, я дважды нажмите кнопку домой и перейти к разные работает приложение, а мое приложение по-прежнему работает в фоновом режиме. Затем я снова дважды нажимаю кнопку «домой» и перехожу назад в свое приложение. Наконец, я дважды нажимаю кнопку «домой» и закрываю приложение. В этом случае Xcode переходит из «Запуск [имя приложения] на [имя устройства]» на «Законченный запуск [имя приложения] на [имя устройства]», как и должно быть.
Сценарий 3 - Я использую мое приложение как нормальные, я дважды нажмите кнопку домой и перейти к разные работает приложение, а мое приложение по-прежнему работает в фоновом режиме. Затем я дважды дважды нажимаю кнопку «домой» и закрываю мое приложение (а не приложение, которое в настоящее время используется), и Xcode рассматривает это как сбой. Строка class AppDelegate: UIResponder, UIApplicationDelegate {
подсвечивается красным цветом и говорит «Thread 1: signal SIGKILL». В журнале сбоев все, что он говорит, это «(lldb)», а breakdown того, что пошло не так в потоке 1, не выделяет мой собственный код. Я также создал пустое приложение, попробовал эти сценарии и был встречен тем же поведением и одинаковым разбиением потока.
Как я могу исправить или даже понять, что здесь не так? Согласно this, я могу иметь дело с «тайм-аутом сторожевой собаки», если источник, возможно, устарел. Это не влияет на мои пользователи и приложение отрицательно, но я считаю, что эти «сбои» сообщаются в App Analytics. В некоторые дни я вижу относительно большое количество аварий, о которых сообщается, и я хотел бы устранить это конкретное событие, чтобы я мог узнать, сколько людей испытывают функциональные сбои, которые фактически влияют на работу пользователя. Любой вход оценивается, спасибо заранее.
Но это происходит не только после того, как я убью приложение, только когда я убью приложение, пока оно не используется в текущем приложении. – goat
Потому что в это время он ушел на второй план и был приостановлен. Это не относится ни к одному из ваших других примеров. – matt
Так что я ничего не могу сделать? Я предполагаю, что эти сбои попадают в отчеты об авариях в приложениях Google Analytics? – goat