Поток одной программы получил: SIGKILL, только в 4.3 Simulator - PullRequest
3 голосов
/ 04 декабря 2011

Когда я использую симулятор 5.0, я не получаю никакой ошибки вообще.

Когда я использую симулятор 4.3, я получаю следующее сообщение, когда я останавливаю выполнение приложения в Xcode с помощью команды stopКнопка.

По сути, я перемещаюсь по своей программе и запускаю представление с uiwebview. В консоли появляется следующее:

Присоединение к процессу 13343. [Переход к процессу 13343, поток 0x2103]

Я продолжаю использовать приложение, и только когда я прекращаю выполнение, я получаю следующее сообщение об ошибке:

Получена одна нить программы: SIGKILL

Я думаю, что проблемаявляется то, что другой поток был открыт, когда он требует взаимодействия с пользователем из uiwebview.И затем, когда я отправляю сообщение уничтожения, первый поток получает сигкилл и жалуется на ошибку.

Если я загружаю то же представление без uiwebview, я вообще не получаю сообщение об ошибке.

И, когда я использую симулятор 5.0, я вообще не получаю это сообщение об ошибке при загрузке uiwebview.

Я видел подобное поведение с uitextview.

Это то, что я должен беспокоиться?Кажется, это не проблема при работе на реальном оборудовании.

Есть ли способ, с помощью которого я могу переключиться обратно на поток после того, как я нажму на другое представление и покончу с uiwebview?

1 Ответ

2 голосов
/ 04 декабря 2011

SIGKILL отправляется операционной системой любому приложению, чтобы оно сообщило ему о том, что оно должно завершить работу и удалить свои процессы.SIGKILL - это не ошибка с вашей стороны и не ошибка симулятора, а то, что происходит, когда вы нажимаете кнопку «Домой» и убиваете приложение в ящике многозадачности или нажимаете кнопку остановки на Xcode.Так что повторюсь, не думайте, что это ваша вина, просто симулятор иногда бесится.(Как и раньше, я держал устройство в режиме отладки, перезапускал свое устройство и получал около 300 строк двоичного файла в журнале, что было жутко!)

PS (хотя я очень сомневаюсь, что у вас возникла эта проблема: SIGKILLможет также отправляться в тех случаях, когда ваше приложение использует WAY слишком много памяти, что может вызвать исключение или EXC_BAD_ACCESS в зависимости от того, как вам это удалось, но, опять же, крайне маловероятно).

...