Получение исключения SIGKILL при перезапуске приложения - PullRequest
17 голосов
/ 15 июля 2011

Я строю и запускаю проект в симуляторе iPhone.Я отправляю его на задний план нажатием кнопки домой.Затем дважды нажмите кнопку «Домой», чтобы найти приложение в фоновом режиме, и коснитесь его.Он становится активным, и приложение продолжает работать.Здесь у меня нет проблем, независимо от того, сколько раз я повторяю это.Затем я прекращаю процесс, нажимая маленький красный знак минус на значке приложения.Но если я снова коснусь значка приложения, чтобы перезапустить его, я получу ошибку SIGKILL, и приложение вылетает.Что может быть причиной этого?Может ли это быть вызвано моими настройками XCode?

Ответы [ 2 ]

23 голосов
/ 15 июля 2011

Это на самом деле не крушение: просто XCode имеет отложенную реакцию на нажатие маленького красного знака минуса. Когда вы завершаете свое приложение таким способом, операционная система отправляет сигнал SIGKILL вашему процессу - но отладчик XCode не «видит» SIGKILL, пока вы не перезапустите приложение.

Вы можете «оправиться» от этого «сбоя», случайно нажав кнопку «Продолжить» в отладчике.

1 голос
/ 15 июля 2011

Я видел подобные сбои в симуляторе, когда я не позволил отладчику изящно отсоединиться от приложения. Вместо того, чтобы убивать приложение, нажав маленький красный знак минус, попробуйте нажать кнопку «Стоп» в Xcode.

Чтобы еще раз подтвердить, что это связано с отладчиком, попробуйте запустить приложение в первый раз, нажав на значок, а не с помощью Build and Run in Xcode. Затем убейте его, нажав на красный крестик, и перезапустите его. Если по-прежнему происходит сбой без подключенного отладчика, моя гипотеза неверна.

...