Ошибка Xcode 4: ошибка при запуске исполняемого файла


81

У меня возникла проблема с тестированием своего приложения на iOS и Xcode, когда я загружаю его на свои реальные устройства (iphone и iPad), и мне интересно, знает ли кто-нибудь о проблеме и может ли мне помочь:

Обычно, когда я создаю приложение на своих устройствах, оно устанавливается и запускается на моих устройствах. Но пока я готовлюсь к отправке своего первого приложения, я тестировал и менял идентификатор пакета, идентификатор приложения и условия разработки (так что проблема может иметь какое-то отношение к этому), и теперь, когда я пытаюсь создать свое приложение на мои устройства, хотя он установлен на моих устройствах нормально, Xcode больше не запускает приложение. Вместо этого я получил это сообщение об ошибке:

Ошибка при запуске исполняемого файла. Ошибка при запуске удаленной программы: нет такого файла или каталога.

Кто-нибудь знает, в чем проблема? И о чем эта папка с производными данными?

Большое спасибо!


Ответы:



88

Запуск приложения с чистого листа

Для меня проблема не решалась, пока я не сделал следующее в таком порядке:

  1. Удалите приложение с устройства (сделайте это перед повторной попыткой отладки)
  2. Выйти из XCode (не закрывать проект просто)
  3. Удалите папку сборки приложения (пример пути: / Users / myusername / Library / Developer / Xcode / DerivedData / MyProject-fhkaamuyvqhubaezinqbmxbnaufd /)
  4. Перезапустить XCode
  5. Наконец - попробуйте еще раз отладку на устройстве iOS.

Папка сборки приложения на шаге 3 относится к папке сборки вашего приложения, которая является дочерним элементом DerivedData. Чтобы найти это, вы можете открыть свое приложение в поисковике, затем вернуться назад, пока не дойдете до папки «DerivedData», и удалить папку выше, например «MyApp-crazylongweirdletters». Без этого шага (3) я не смог бы отлаживать, поэтому это критический шаг, и вы должны выйти из XCode, прежде чем делать этот шаг.

Некоторым кажется, что просто перезапуск XCode помогает, но не для меня.

Я отправляю этот ответ только потому, что предыдущие ответы НЕ сработали для меня. Надеюсь, другие, бьющиеся головой, найдут это и вздохнут с облегчением. :)

Ноты:

  • Проблема начала возникать у меня, когда я изменил идентификатор пакета приложения.
  • Моя подпись кода верна и была правильной. Моим профилем подготовки был «Профиль подготовки команды», который должен работать для любого идентификатора приложения (по умолчанию для автоматического выбора профиля «Разработчик iPhone»).
  • Я делал сборку DEBUG (а не выпуск / распространение).

5
Это сработало для меня. Просто убедитесь, что вы ВЫЙТИ из XCode, а не просто закрываете проект.
Хорхе Гарсия,

1
Это начало происходить и со мной, и это устранило это - казалось, что-то связано с тем, что мне пришлось обновлять свой сертификат распространения
Саймон Ист

1
Это также сработало для меня, когда выход из Xcode и удаление приложения с устройства не работали. Мне удалось запустить приложение с устройства, но не с помощью отладчика.
Wil Macaulay

2
Рекомендуемый ответ не сработал для меня, но это сработало! Чтобы прояснить для всех, кто его читает, чтобы найти папку сборки в Xcode, щелкните свое приложение в представлении списка файлов в окне и «Показать в поисковике».
sradforth 02

1
Он никому не герой .. - (просто припев) этот ответ заслуживает галочки!
bobobobo

10

Вы не можете отлаживать (начать с Xcode) приложение, подписанное с помощью профиля распространения, если я хорошо помню ... И тогда вы получаете такие сообщения, GDB терпит неудачу, чтобы присоединиться к процессу.


Привет, Винсент! Даже я создал свое приложение с использованием профиля разработчика, но все равно сталкиваюсь с той же проблемой.
ravoorinandan

1
@ravoorinandan Попробуйте мое решение (закройте XCode, удалите папку сборки приложения, затем откройте XCode и попробуйте отладку. Возможно, также неплохо было бы удалить ваше приложение перед запуском. Это заставило меня биться головой, прежде чем я попробовал эти шаги. Если это сработает для вас, пожалуйста, проголосуйте за мой ответ (а не только за этот комментарий)
Сэм

7

Я наконец нашел свою ошибку!

Я играл со своим файлом info.plist и изменил имя исполняемого файла, а также имя пакета и отображаемое имя пакета! Как только я вернул их к значениям по умолчанию (EXECUTABLE_NAME, PRODUCT_NAME, PRODUCT_NAME соответственно), все заработало.


3
У меня возникла проблема с моим списком, которая также вызывала ту же проблему. Убедитесь, что вы перепроверили свой список, ребята! Спасибо за совет!
Итан Аллен,

4

Удалите приложение с устройства (нажмите и удерживайте, затем удалите) и повторите попытку.


3

Для меня ничего из этого не сработало. Та же ошибка, но другое решение.

Моя проблема была вызвана тем, что я случайно изменил «Цель развертывания» (версия для iOS) на версию выше, чем та, что была на телефоне, на котором я пытался запустить код.

Исправление было простым - опустить цель развертывания до версии ниже или равной версии программного обеспечения ios на моем телефоне :)


2

Я получил ту же ошибку из-за неправильной подписи кода.

Перейдите в свой проект> Цели> Параметры сборки> Проверить подпись кода на предмет состояния отладки.


1

Я наткнулся на это как на решение другой проблемы, которая была предупреждением при попытке создать приложение на новом устройстве 4.3.5.

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

Если я установлю подпись кода для профиля распространения, я не получу предупреждений в процессе сборки, но отладчик не будет подключаться. Таким образом, приведенный выше ответ о подписи кажется правильным. Это также может быть проблемой только на новых устройствах 4.3.5 с xcode



1

Эта ошибка иногда возникает из-за неполного процесса «Восстановление» или «Синхронизация» вашего устройства, в результате которого файлы .app заблокированы.

Что я сделал, мне пришлось сделать джейлбрейк моего устройства, найти приложение в / User / Applications / XXXXX-XXXX-XXX / и физически удалить .app

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

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

До этого я пробовал, что все решения у меня не работали, и, очевидно, просто удалить приложение, удерживая палец на экране, не помогло, поскольку он удалил значок, но все файлы все еще были там. (Поскольку это было приложение для разработки, а не загруженное приложение из App Store)


Вы попробовали мое решение, но оно не сработало? Я лично знаю, что не хочу делать джейлбрейк своего устройства
Сэм

Да, я пробовал ваше решение и многое другое, проблема заключалась в неполной резервной копии, которая просто убивала значки приложений разработки на доске Spring.
Rhm Akbari

1

была такая же проблема, выйдите из XCode ... удалите приложение с устройства ... запустите программу снова ... я решил таким образом ... одному из моих друзей пришлось перезапустить устройство.


1

У меня та же проблема. Я решил это, изменив имя каталога проекта, а затем снова запустив приложение.


0

У меня была эта проблема на недавно восстановленном устройстве, на котором мои находящиеся в разработке приложения не были переустановлены - они отображались на Springboard как «Ожидание» загрузки из App Store. Удаление приложения из Springboard устранило проблему.


0

Я столкнулся с этой проблемой со вчерашнего дня на двух разных устройствах, на обоих iOS 4.x. Удаление папки DerivedData, удаление приложения, перезапуск Xcode и очистка кода НЕ работали. Повторение всех шагов, помимо перезагрузки устройства исправило для меня.


0

Здесь я публикую обновление проблемы. Может быть полезно для кого-то с той же проблемой. У меня есть Xcode 4.4 и запустил его на устройстве с iOS 5.0. Если в Xcode нет симуляторов 5.0

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.