Xcode внезапно прекратил работу над аппаратным обеспечением: "Не удалось запустить xxx.app:.. Нет такого файла.."

Xcode перестала работать с моим приложением, он запускался сразу после того, как я удалил его с устройства и попытался переустановить, перезапустив его в Xcode (что-то, что я делал сотни раз раньше).

В нем говорится

"Не удалось запустить XXX.app"

"Нет такого файла или каталога (/Users/Mylaptop/Library/Developer/Xcode/DerivedData/MyApp-ekxcbebfpzkahtfkujyqkcwprzia/Build/Products/Debug-iphoneos/MyApps.app/MyApp).

Я перезагрузил телефон, перезапустил Xcode, очистил все, перестроил все. Это сообщение об ошибке не исчезнет.

Это с Xcode 4.5, который я использовал с тех пор, как он стал доступен, если я вернусь к 4.3.2, тогда Xcode говорит "Готовое приложение", но на самом деле ничего не делает - приложение не установлено и не запускается.

Я полностью застрял - больше не могу запускать что-либо на устройстве.

Любые предложения?

Ответ 1

Это действительно раздражает. Эта ошибка возникает в разных ситуациях. Иногда перезапуск Xcode устраняет проблему. Если нет, выполните следующие действия:

Отключите устройство.

Удалите приложение с вашего устройства.

Закройте Xcode (не просто просто закройте окно, выйдите из него)

Удалить папку с производными данными (~/Library/Developer/Xcode/DerivedData/-gbrvhlvwmpiobxdujegtghggrffp - или что-то в этом роде)

Теперь запустите Xcode еще раз, подключите устройство и запустите проект. Он должен работать нормально.

из DhilipSiva блог

Ответ 2

Попробуйте удалить "Обязательные возможности устройства" в файле -Info.plist.

Вы не можете требовать armv7 на 3G, и вы не можете требовать armv6 на любом более новом устройстве, поэтому просто полностью удалите этот атрибут.

Ответ 3

Я нашел ответ. Целевая версия развертывания iOS была не такой же, как версия моей операционной системы.

Ответ 4

Сначала пробовал некоторые из вышеперечисленных с помощью info.plists и удалял производные данные, чистые и т.д.

Мое решение: выйти из XCode, снова открыть проект. Перейдите к производным данным в Finder. Удаленные данные для всех проектов (все было сработано, но я сначала попытаюсь удалить ваши проблемные проектные данные). И тогда это сработало снова. Удаление полученных данных из XCode не сработало.

Ответ 5

Ниже была решена моя проблема... мое приложение работало для меня в debug/release, затем я создал несколько специальных архивов и отладочные/выпущенные сборки перестали работать.

Симптомы:

  • Недействительные ошибки прав при запуске с Xcode на устройство (воспроизведение с правами...)
  • немедленное прерывание без ошибок (завершение работы) при запуске симулятора
  • не удалось запустить... каталог blabla.../build/product/debug-iphoneos/... не найден при запуске с Xcode на устройство.

В конце концов, пытаясь извлечь выгоду из всех остальных, я обнаружил в Targets [AppName]:

Build Settings
Build Locations
Build Products Path build

должен быть

Build Products Path build/Products

Не знаю, как это произошло неправильно. Это должно быть жестко закодировано где-то в Xcode/Springboard, потому что "Продукты" отображаются как в Xcode, так и в консоли Device. Это Xcode 4.5.1.

screenshot fo where to set build/Products

Ответ 6

Я решил эту проблему на

переименование каталога над моим проектом XCode

Изменение имени проекта в XCode исправило его для меня.

В XCode в разделе "Навигатор проектов" щелкните название проекта, и оно должно позволить вам переименовать его точно так же, как файл в Finder. Удаление полученных данных не помогло.

Ответ 7

Я построил проект XCode с помощью CMake, и каким-то образом он (или мое глупое я) удалил или опустошил свойство "Исполняемый файл" в info.plist. Я вернул его в ${EXECUTABLE_NAME}, и он снова работал.

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

Надеюсь, это поможет кому-то, кто борется с той же проблемой

Edit:

Это было каким-то образом CMake испортил мой файл plist. Я создал свой собственный Info.plist и использовал его следующим образом:

SET_TARGET_PROPERTIES( MyApp PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR}/MyApp.plist )

Внутри моего plist у меня была эта запись:

<key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string>

К сожалению, CMake все еще, кажется, разбирает этот файл и заменяет ${EXECUTABLE_NAME} пустой строкой с момента синтаксиса переменной CMake. Моя быстрая работа:

SET( EXECUTABLE_NAME "\${EXECUTABLE_NAME}" )

Теперь он работает как шарм.

Я, наверное, одинок с этой проблемой, но кто знает.

Ответ 8

У меня была такая же проблема, но в моем случае у меня было неправильное требование в моем info.plist(требуется гироскоп для iPhone 3Gs)

Ответ 9

Я попытался запустить свой проект в другой системе, отличной от той, на которой он был разработан. Я получаю "Не удалось запустить xxx.app:.. Нет такого файла..".

Удалено приложение с устройства, а затем удалено производные данные из организатора в xcode для приложения. Организатор → Проекты → Производные DAta → Удалить

Моя проблема решена.

Ответ 10

Вам нужно установить цель развертывания НИЖНЕЙ, чем версия вашего устройства

Ответ 11

Для меня решение состояло в том, чтобы использовать правильный (нераспределенный) профиль обеспечения.

Я по умолчанию всегда использовал свой профиль ad hoc Provision, но затем я перешел на использование моего профиля разработчика (профиль команды) и решил все. Я пошел дальше и очистил каталог Derived Data, чтобы быть в безопасности, но я не знаю наверняка, если это требуется.

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

Ответ 12

У меня была эта проблема очень странным решением.

Моя проблема была несколько иной, так как у меня есть два сертификата разработчика в Keychain. У нас есть две учетные записи разработчиков (скажем, AD и BD).

1) Я изменил идентификатор Bundle от com.BD.game до com.AD.game 2) Устройство, на котором у меня были проблемы, было подписано только в профилях предоставления AD. 3) Я не смог отладить игру на iPad, хотя у устройства были действующие профили подготовки, у меня были действительные сертификаты, я перезапустил Mac, устройство, переустановил Xcode... ничего не помогло.

Делайте то, что я делал сегодня, рассматривая файл project.pbxproj для любых странных записей.

Я обнаружил, что Xcode использовал соответствующий профиль подготовки, но подписал ipa/app с неправильным сертификатом.

"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: **BD** (XX******)";

После того, как я вручную исправлю имя и идентификатор; все работает как шарм.

Ответ 13

Я получил ту же ошибку. В моем случае я установил цель развертывания как 6.1 и попытался запустить iOS 5.1 iPad. Когда я изменил цель развертывания на 4.3, проблема будет решена.


Все еще проблема. Попробуй это Отключите устройство. Удалите приложение с устройства. Выйти из xcode. Теперь запустите Xcode, подключите устройство и запустите проект. Он должен работать нормально.

Ответ 14

Для меня (с использованием IOS 7 и Xcode 5) ошибка исчезла сразу после того, как я установил "Добавить в членский центр" с моим устройством в Organizer.

Ответ 15

Я хотел бы упомянуть, что самый простой способ открыть папку DerivedData в Finder:

  • Откройте Организатор.
  • Нажмите "Проекты".
  • Выберите свой проблемный проект.
  • Рядом с путём DerivedData нажмите на маленькую кнопку со стрелкой вправо.

Удаление содержимого папки DerivedData для меня. Вместо того, чтобы использовать кнопку "Удалить...", вам следует больше удалять файлы вручную с помощью Finder.

Ответ 17

Для меня я забыл, что у меня была "телефония" в "Обязательные возможности устройства" в info.plist. Удалил это, и он, наконец, работал на моем iPad.

Ответ 18

Для меня перезапуск Xcode, очистка DerivedData и остального устройства в большинстве случаев была недостаточной, пока я не выяснил, что iTunes также работает, и после выхода из iTunes все сработало нормально!

Итак, мои шаги сейчас просты:

1. Выйти из Xcode.
2. Если iTunes запущен, закройте iTunes.
3. Повторно открыть проект.

Не нужно удалять приложение с устройства, очищать проект или перезагружать/отключать устройство. Я думаю, что, поскольку Xcode и iTunes используют некоторые общие библиотеки (как вы знаете, Xcode Installer всегда просит выйти из iTunes при установке SDK для iOS).

Ответ 19

У меня возникла эта проблема и я попробовал ряд предложений, которые не сработали для меня - тогда я нашел один об удалении "Обязательных возможностей устройства" в файле -Info.plist(который для меня включал службы определения местоположения и gps) Это сработало! Затем я снова добавил их, и он все еще работал. Это xCode 4.6.1, а мое приложение - разработчик с Phonegap/Cordova

Ответ 20

Я пробовал все вышеперечисленное, и все же он все равно не запускался. Я исправил проблему, изменив производное местоположение сборки. Файл > Настройки проектa > "Исходное местоположение данных" изменится на отношение к проекту. Или вы можете просто убедиться, что путь по умолчанию имеет разрешение на чтение/запись.

Ответ 21

Моя проблема, казалось, заключалась в том, чтобы выбрать подборку Portrait (верхняя кнопка дома) как Item 0 в поддерживаемых ориентациях интерфейса в моем plist. Удаление этого или его перемещение, казалось, устранило мою проблему. Наведите указатель мыши.

Ответ 22

У меня тоже была эта проблема для универсального приложения с Xcode 4.5 на моем iPhone ТОЛЬКО, где у меня было два устройства отладки:

iPhone 4 iOS 5.1.1
iPad 1   iOS 5.1.1

У Info.plist была пустая запись в разделе "Обязательные возможности устройства", Я знаю, что я не ввел этот пустой "Item 0". Приложение загружается на iPhone потому что я удалил пустой элемент. Я не встречал эта проблема на любой из нескольких более ранних версий Xcode, Это означает, что Xcode 4.5 обрабатывает этот "вставленный" элемент по-разному для двух устройств, которые я использую. Я ошибался раньше, но это кажется как ошибка в Xcode 4.5.

Ответ 23

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

Итак, если вы перейдете на iOS 6, он установит цель развертывания для iOS 6. Вам нужно будет развернуть до 5.1, если тестируемое устройство все еще работает 5.1.

Ответ 24

Моя проблема, наконец, была решена путем проверки, чтобы атрибут productName в разделе /* Begin PBXNativeTarget section */ моего файла project.pbxproj соответствовал атрибуту name.

После редактирования, чтобы они были одинаковыми, Xcode, наконец, правильно запускает приложение на моем устройстве!

Спасибо Max Weisel за помощь!: D

Ответ 25

Удаление папки с производными данными не помогло мне. Используя Xcode 4.4.2, единственным решением было открыть Organizer и удалить старые истекшие профили подготовки на iDevice. Затем все сработало отлично.

Ответ 26

Это может быть красная селедка, но я столкнулся с этими проблемами, когда добавлял пользовательские изображения запуска перед удалением по умолчанию. Удалив запуск по умолчанию и пользовательские изображения, а затем добавив обратно в пользовательские, я исправил его для меня. Я работаю с iOS 6 и Xcode 4.5.2

Ответ 27

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

Для меня в Info.plist произошел неправильный "Обязательные возможности устройства". Я по ошибке добавил пустой элемент массива (поверх архитектуры, armv7). Удалил пустой элемент массива, и теперь все в порядке!

Ответ 28

У меня была эта проблема, и ничего не помогло, за исключением: Моя проблема началась после изменения содержимого моего info.plist, и никакая реверсия не помогла.

Для меня это было решено:

  • Создайте vanilla info.plist в новом проекте
  • замените старый info.plist на новый
  • переименование (например, app_info.plist)
  • Установите Build Settings/Packaging/INFOPLIST_FILE как новый.
  • Внесите все изменения, необходимые для вашего проекта.

Надеюсь, что это поможет. Я попробовал все, что предлагалось здесь, и это было единственным решением для меня.

Ответ 29

Опираясь на ту же проблему, но теперь проблема решена, я удалил Executable file info.plist. Я вернул его в ${EXECUTABLE_NAME}, и он снова работал..:)

enter image description here

Ответ 30

В моем случае я просто устанавливаю разрешение 777 непосредственно в папку xxx.app ко всем файлам и работаю!