Я тестировал свое приложение на симуляторе, когда оно зависало при нажатии кнопки UIAlertView. Я прекратил отладку, внес некоторые изменения в код и снова собрал приложение. Теперь, когда я запускаю приложение, я получаю эту ошибку в консоли
Не удалось зарегистрировать com.myApp.debug на сервере начальной загрузки. Ошибка: неизвестный код ошибки. Как правило, это означает, что другой экземпляр этого процесса уже запущен или завис в отладчике. Программа получила сигнал: «SIGABRT».
Я попытался удалить приложение из симулятора, выполняя чистую сборку, но все равно получаю эту ошибку, когда пытаюсь запустить приложение.
Что мне нужно сделать, чтобы снова запустить приложение на моем симуляторе?
ios
xcode
ios-simulator
lostInTransit
источник
источник
ps ax | grep SimulatorBridge
Ответы:
Попробуйте выйти и перезапустить симулятор? Если «хуже становится хуже», вы всегда можете попробовать перезапустить: по моему опыту это должно исправить.
источник
Статус: это было замечено совсем недавно, как Mac OS 10.8 и Xcode 4.4.
tl; dr: это может происходить в двух контекстах: при работе на устройстве и при работе на симуляторе. При работе на устройстве отключение и повторное подключение устройства, кажется, исправляет ситуацию.
Майк Эш предложил
Это не работает все время. На самом деле, он никогда не работал для меня, но в некоторых случаях он работает. Просто не знаю, в каких случаях. Так что стоит попробовать.
В противном случае единственный известный способ исправить это - перезапустить пользователя launchd. Перезагрузка сделает это, но есть менее радикальный / более быстрый способ. Вам нужно будет создать другого пользователя-администратора, но вам нужно будет сделать это только один раз. Когда все заклинивает, выйдите из системы как вы сами, войдите в систему как этот пользователь и убейте launchd, принадлежащий вашему основному пользователю, например,
заменяя ваше основное имя пользователя на
user_id
. Войдите снова, поскольку ваш обычный пользователь возвращает вас в нормальное состояние. Вроде больно, но меньше, чем полная перезагрузка.подробности:
Это стало происходить чаще с Lion / Xcode 4.2. (Лично я никогда не видел это до этой комбинации.)
Ошибка, по-видимому, в launchd, который наследует процесс приложения как дочерний, когда отладчик прекращает отлаживать его, не убивая его. Обычно это сигнализируется тем, что приложение становится зомби и имеет статус процесса Z в пс.
Основная проблема заключается в сервере имен начальной загрузки, который реализован в launchd. Это (насколько я понимаю) отображает идентификаторы приложений на порты Mach. При возникновении ошибки приложение умирает, но не очищается от карты сервера имен сервера начальной загрузки, и в результате сервер начальной загрузки отказывается разрешить регистрировать другой экземпляр приложения под тем же именем.
Была надежда (см. Комментарии), что принуждение к запуску
wait()
зомби исправит ситуацию, но это не так. Основная проблема не в статусе зомби (именно поэтому некоторые зомби доброкачественны), а в сервере имен начальной загрузки, и нет никакого известного способа избавиться от этого, если не убить launchd.Похоже, ошибка вызвана чем-то плохим между Xcode, gdb и пользователем launchd. Я просто повторил клин, запустив приложение в симуляторе iphone, остановив его в gdb, а затем выполнив сборку и запустив симулятор ipad. Кажется, он чувствителен к переключению симуляторов (iOS 4.3 / iOS 5, iPad / iPhone). Это происходит не всегда, а довольно часто, когда я часто переключаю симуляторы.
Убийство launchd во время входа в систему испортит ваш сеанс. Выход из системы и повторный вход в систему не убивают пользователя launchd; OS X поддерживает существующий процесс. Перезагрузка все исправит, но это больно. Инструкции выше быстрее.
Я отправил сообщение об ошибке в Apple, FWIW. rdar: // 10330930
источник
Я обнаружил, что у меня возникла эта проблема с Lion + Xcode 4.2. Я также испытал проблему в Xcode 4.3.
Я перепробовал все предложения, но ни одно из них не сработало, кроме полной перезагрузки.
Вот как вы определяете, требуется ли вам быстрая перезагрузка.
Перечислите все ваши процессы Zombie:
Если вы видите ваше приложение в списке процессов Zombie, вам необходимо перезагрузить компьютер. Сообщение об ошибке гласит: «Обычно это означает, что другой экземпляр этого процесса уже запущен или завис в отладчике». Ну, XCode обнаруживает этот процесс зомби, который вы не можете убить. Единственный способ исправить это - перезагрузить систему. :(
РЕДАКТИРОВАТЬ, 20120823: Я немного лучше знаю процессы зомби, поэтому я хотел обновить этот ответ. Процесс Zombie создается, когда родительский процесс не вызывает wait () (ожидание процесса для изменения состояния) в завершающем дочернем процессе. Вы не можете запустить «kill» непосредственно в процессе Zombie, но если вы убьете родительский процесс, дочерний процесс Zombie будет «собран» и удален из таблицы процессов.
Я давно не сталкивался с этой проблемой, поэтому не проверял, каков родительский процесс в этом сценарии. Альтернативой уничтожению родительского процесса является перезагрузка системы. :)
источник
Я только что это случилось со мной: я получал ошибку только на моем устройстве, и симулятор работал нормально. В итоге мне пришлось перезагрузить устройство, и ошибка исчезла.
источник
У меня эта проблема очень часто в последнее время. Что бы предотвратить это? Выход из системы и ее устранение устраняет проблему, но ... раздражает делать это время от времени.
РЕДАКТИРОВАТЬ:
Я только что нашел причину. У меня была ошибка в методе ApplicationWillTerminate. Поэтому, когда я нажимаю кнопку «Стоп» в окне Xcode, приложение не может правильно завершиться и начинает зависать.
проверьте Activity Monitor, чтобы увидеть, есть ли ваше приложение в списке. принудительно выйти, если это возможно.
источник
Если вы обнаружите, что ваша проблема связана с процессами зомби:
(как в предыдущем комментарии https://stackoverflow.com/a/8104400/464289 ) и просто хотите немедленно решить проблему, вы можете сделать это без перезагрузки или уничтожения чего-либо. Просто переименуйте целевой файл вашего проекта:Легко!
источник
Ну, нет ответов, но нужно сделать хотя бы еще один тест. Откройте Терминал и выполните команду: «ps-Ael | grep Z». Если вы получили две записи, одну «(clang)», а другую - название вашего приложения или компании, вы попадаете - перезагрузитесь.
Если вы разработчик, введите короткую ошибку и скажите Apple, как сильно раздражает необходимость перезагрузки, и отметьте, что они могут дублировать эту ошибку до «rdar: // 10401934», который я только что ввел.
Дэвид
источник
Сброс симулятора iOS исправил ошибку для меня. Хотя это удалит все приложения, которые есть в симуляторе, оно устраняет проблему без перезагрузки компьютера.
Вы можете сбросить симулятор iOS, выполнив следующие действия:
1) Перейдите в меню «Симулятор iOS» рядом с логотипом Apple () в левой части главного экрана.
2) Выберите «Сбросить содержимое и настройки ...».
3) Прочитайте всплывающее сообщение и, если вы согласны, нажмите «Сброс», в противном случае нажмите «Не сбрасывать».
источник
источник
У меня была проблема, о которой упоминает @jyap с процессами зомби. Единственный способ очистить их - перезагрузить компьютер. Однако я заметил, что мои друзья, работающие над одним и тем же проектом, столкнутся с той же проблемой, но могут убить симулятор, не создавая процесс зомби. Я полностью удалил Xcode и переустановил его, и, хотя я все еще получаю сообщение об ошибке, он не создает зомби-процессы, поэтому мне не нужно перезагружаться.
До того, как я это сделал, я использовал этот действительно уродливый обходной путь: измените идентификатор своего приложения и запустите снова. В итоге вы получите ненужные копии приложения в симуляторе, но можете отложить перезагрузку на некоторое время.
источник
Эта ошибка часто случается со мной, почти каждый раз, когда я тестирую приложение в симуляторе, заставляя меня перезагружаться.
Вот обходной путь, если вы хотите сделать некоторую работу:
YES
.Это будет означать, что при нажатии кнопки «Домой» в симуляторе или выходе из симулятора приложение не зависает.
Не забудьте изменить эту настройку перед распространением! Поместите это в свой контрольный список релиза :)
источник
Если это происходит при тестировании на iPhone. Просто перезагрузите телефон. Из того, что мне сказали, телефон или симулятор по-прежнему считают, что есть экземпляр запущенного приложения, поэтому, когда оно было запущено в последний раз, оно не завершилось корректно, либо из-за ошибки в вашем коде, либо телефон / симулятор просто хотел получить стон.
источник
Я получил эту ошибку при отладке моего приложения на iPhone 4. Тяжелая перезагрузка iPhone решила мою проблему. (Выключение iPhone зависло ...)
У меня не было никакого процесса зомби на моем Mac, и перезагрузка Mac не решила проблему.
Может быть, эта ошибка может проявиться как на симуляторе, так и на реальных устройствах ???
источник
Перезапустил устройство, сработало! : D
Спасибо всем за отличные предложения.
источник
У меня только что была эта ошибка. Я попытался перезапустить симулятор и Xcode, но мой проект снова заработал только после очистки и сборки. Понятия не имею, что вызвало это.
источник
У меня был рекурсивный сеттер, который дул сквозь стек и убил мое приложение таким образом, что мне пришлось загружать iPad. Это было доказуемо с исправлением в коде.
источник
У меня была та же проблема, и я решил ее, выполнив следующее
Я также сделал еще одну вещь, потому что Xcode настроен на использование iOS 5.0, а мой проект использует iOS 4.3
источник
Альтернативное решение:
Вы теряете все данные в приложении, поскольку на самом деле это новое приложение, работающее в том, что касается симулятора iPhone. Это может или не может быть более раздражающим, чем перезагрузка - просто хотел добавить его в список.
источник
Причина
Запуск вашего приложения в симуляторе до полной остановки ранее запущенного приложения.
Исправление
Дождитесь, когда вы увидите, что кнопка Стоп снова станет активной, прежде чем снова работать
(Я использую Xcode 4.2.1. Эта проблема возникала очень часто при обновлении до OS X Lion).
источник
Исправлено: перезагрузка телефона после удаления приложения, затем восстановление его в чистоте и запуск снова. Работает нормально сейчас.
Weird.
источник
Нет необходимости перестраивать или переустанавливать для моей проблемы, и в моем случае ошибка возникла при попытке запустить приложение на iPhone. Симулятор работал нормально.
Решение: удалите приложение с телефона, выполните холодный перезапуск телефона, и теперь все в порядке.
источник
Многое для меня произошло с Xcode 4.2.1 на Lion. Обновился до 4.3.2 и больше этого не происходит. Рад, что они это исправили.
источник
Майк Эш опубликовал решение (да благословит его Бог!), Которое не требует перезагрузки. Просто беги:
источник
Я думаю, что это вызвано принудительным выходом из приложения на iPhone до нажатия кнопки «Стоп» в Xcode. Иногда, когда вы нажимаете кнопку остановки в XCode, тогда требуется дополнительное время, чтобы выйти из приложения, если оно зависло. Но просто будьте терпеливы, это в конечном итоге будет прекращено большую часть времени.
источник
Вы можете разместить переменную в функции или на вкладке. Он будет освобожден, если ваша функция или вкладка будут закрыты. Поэтому вы должны объявить его переменной-членом или глобальной переменной.
источник
Я получал эту ошибку все время, пока не перестал доверять кнопке «Стоп» в диалоговом окне «Выполнить». Теперь, когда я всегда нажимаю «Стоп» на панели инструментов, прежде чем пытаться запустить, мне еще не приходилось сталкиваться с какими-либо зомби-процессами.
источник
Боже мой - я пробовал ВСЕ, что перечислено выше и в других постах. Переустановил Xcode, перезагрузил мой компьютер, скопировал все недостающие файлы в нужные папки ... В конце концов я сделал резервную копию своего iphone, вытер его и восстановил, и это сработало!
Я думаю, что, возможно, причиной чтения и вокруг этого было отключение моего белого iphone, он работал с инструментами производительности, улавливающими утечки. Или что-то в этом роде.
Аааа, большой вздох облегчения.
источник
В худшем случае Сброс содержимого и настройки iOS Simulater, и в большинстве случаев в моем случае выход из XCode вместе с симулятором всегда работает для меня с XCode4.6 (который часто зависает)
источник
Я сталкивался с такой проблемой один раз в моем случае вот что я сделал
В большинстве случаев я запускал его на шаге 6, в крайних случаях мне приходилось перезагружать машину.
источник
Эта ошибка возникала в более старых версиях симулятора iOS, поскольку старые экземпляры задания на другом устройстве, которое завершало работу, могли конфликтовать с новым экземпляром.
iOS 6.0 и более поздние версии не должны испытывать подобных проблем, потому что iOS 6.0 ввела использование подмножеств начальной загрузки, а iOS 7.0 ввела использование выделенного сервера начальной загрузки (launchd_sim), который полностью изолирован от сервера начальной загрузки хоста.
источник