Xcode внезапно прекратил запуск проекта на оборудовании: «Не удалось запустить xxx.app: .. Нет такого файла ..» [закрыто]


139

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 скажет: «Завершено выполнение приложения», но на самом деле ничего не делает - приложение не устанавливается и не запускается.

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

Какие-либо предложения?


4
Перейдите к Организатору в вашем xcode, нажмите вкладку проектов и удалите производные данные для вашего проекта, очистите проект и снова создайте его ..
Динеш Раджа

2
После этого все равно получится то же самое. Попробую переустановить Xcode.
Gruntcakes

Я думаю, вы что-то изменили в настройках сборки на пути к запуску вашего приложения на устройстве
Динеш Раджа

9
Я выяснил, что это было - добавляя возможности устройства в info.plist, я каким-то образом добавил новую строку, но не присвоил ей значение.
Gruntcakes

1
Хотя удаление производных данных в конечном итоге сработало для меня, это не помогло, пока я не перезагрузил iPad и OS / X, не очистил корзину после использования Finder для удаления производных данных и не удалил периферийное устройство BLE, подключенное через порт USB. Я не знаю, какой из шагов потребовался - XCode позже был скомпилирован с подключенным периферийным устройством BLE - но как только все эти шаги были добавлены для удаления производных данных, проект скомпилировался нормально.
Майк,

Ответы:


125

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

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

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

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

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

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

из блога DhilipSiva


4
Это было для меня ключом. Оцените уровень детализации ответа.
Джейсон Павлак

Одна из «действительно раздражающих» вещей при работе над этой платформой
рашинг

2
не работает ... я работаю на устройстве
Rajneesh071

Вышеуказанные шаги не помогли решить проблему. Я все еще получаю сообщение «Не удалось запустить <приложение>. <Приложение> не найдено».
user298261 09

работал у меня, попробуйте этот
Мухаммад Вакас

57

Попробуйте удалить «Необходимые возможности устройства» в файле -Info.plist.

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


2
Это единственное решение, которое у меня сработало. Уже пытаюсь обновить сертификаты, очистить папки, перезагрузить устройство, xcode и mac ничего не помогло. Просто удалите атрибут, и он установился и работал нормально.
automaticoo

1
Это решение также сработало для меня - странная ошибка.
неправильное употребление

Я также должен был убедиться, что действующие архитектуры в настройке включали armv6, armv7 и armv7s (сейчас я использую XCode 4.5 ... Я знаю, что прошло несколько месяцев, но стоит упомянуть). Кроме того, эти три должны быть перечислены в разделе "Архитектура".
Дэвид Мортон

Пробовал, без радости, но ответ Судхакара + Джаггера сработал. Xcode 4.5.1 и
iPad1

Это было для меня проблемой: у моего приложения была «телефония» как необходимая возможность, и я пытался запустить приложение на iPad mini только с Wi-Fi.
chitza 01

38

Я нашел ответ. Версия цели развертывания iOS не совпадала с версией ОС моего устройства.


Сделал это и для меня. По какой-то причине XCode всегда хочет сбросить цель развертывания моего проекта до 6.0.
Дональд Берр,

3
у меня тоже сработало ... Я менял Тип устройства с «iPhone» на «Универсальный», и xcode автоматически изменил цель на 6.0, чего я сначала не заметил. Перешел обратно на 4.3, и это сработало ...
Джим Хосе,

Жаль, что удаление DerivedData и необходимых возможностей устройства не помогло, поэтому я установил цель развертывания с 6.1 на 5.0, и это сработало на моем iPod Touch под управлением iOS 5.1.
Ричард Альтенбург - Brainchild

о Боже. сколько раз я собираюсь сделать то же самое ...
heximal

это было решение для меня
Джордж Бакингем

13

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

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


4
Путь к папке с производными данными: / Users / <User> / Library / Developer / Xcode / DerivedData /
Pascalius

это решило мою проблему + удаление всех папок освободило 10 ГБ памяти, так что двойное спасибо :)
thesummersign

10

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

Симптомы:

  • ошибки недопустимых прав при запуске с 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, так и в консоли устройства. Это Xcode 4.5.1.

скриншот fo где установить сборку / продукты


1
Не могли бы вы отформатировать его, чтобы смысл был более понятным? Неясно, как его вводить.
itsbruce 01

1
Вау, спасибо большое, Кит. Спустя 4 разочаровывающих часа выясняется, что это была причина. Как в мире это изменилось, мне непонятно.
karl_ 06

1
Да, это решило мою проблему, но почему это произошло ?!
Али

7

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

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

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

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


Это сделало это для меня, по какой-то причине это не удалось, когда у меня было пробел в имени проекта. Переименован в без пробелов, и все работает нормально.
Рита

6

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

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

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

Редактировать:

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

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

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

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

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

SET( EXECUTABLE_NAME "\${EXECUTABLE_NAME}" )

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

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


Ницца. Я случайно удалил свой файл .plist, и это было одно из свойств, которые мне нужно было добавить снова. Спасибо

Это set(EXECUTABLE_NAME "\${EXECUTABLE_NAME}")было именно то, что мне нужно. Я добавил эту строку в конец моего файла цепочки инструментов ios, и она исправила ее безупречно. Огромное спасибо!
Deathicon

5

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


4

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

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

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



4

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

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

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


Это, безусловно, совокупность сбоев и исправлений, очевидно, что многие сбои XCode попадают в это бесполезное сообщение об ошибке. В этот раз для нас и еще нескольких ниже, это, похоже, было вызвано проблемами сертификата / подписи / профиля, выбросив несколько старых просроченных и убедившись, что я использую одни и те же профили повсюду (например, Ябольник ниже , У меня есть несколько учетных записей разработчиков, как у моего работодателя, так и у меня.) Разрешил XCode запускать приложение на устройстве.
Тарин

4

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

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

1) Я изменил идентификатор пакета с 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******)";

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


4

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


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


4

Для меня (с использованием IOS 7 и Xcode 5) ошибка исчезла сразу после того, как я сделал «Добавить в Центр участников» с моим устройством в Организаторе.


Это помогло. Однако после этого мне потребовалось перезагрузить устройство, чтобы избавиться от ошибки.
Bouncing Bit

3

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

  1. Откройте Организатор.
  2. Щелкните «Проекты».
  3. Выберите свой проблемный проект.
  4. Рядом с путем к DerivedData нажмите маленькую кнопку со стрелкой вправо.

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


3

Перейдите по ссылке: Target вашего проекта -> Info и из CustoM iOS Target Properties удалите требуемые возможности устройства. В моем случае это были armv7 и armv7s.

После этого приложение было успешно создано на моем iPhone 4.

Вот как это выглядит после того, как я удалил оба требования


У меня была та же проблема, приложение запускалось на моем 5S в первый раз, но не в последующие раз. Оказалось, что мои Обязательные возможности устройства были установлены на «armv7», что было удалено из списка исправлений
Кам Саул,

2

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


2

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

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

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

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


2

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


Я также нашел там пустую строку, которая блокировала органайзер! Спасибо за чаевые !
PetrV 07

2

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


1

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


1

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

iPhone 4 iOS 5.1.1
iPad 1   iOS 5.1.1

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


1

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

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


1

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

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

Спасибо Максу Вайзелю за помощь! : D


1

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


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

1

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


1

Это очень полезное сообщение об ошибке может быть вызвано несколькими причинами.

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


1

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

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

  1. Создайте ванильный info.plist в новом проекте
  2. замените старый info.plist новым
  3. переименование (например, app_info.plist)
  4. Установите настройки сборки / упаковка / INFOPLIST_FILE как новый.
  5. Внесите все необходимые изменения для вашего проекта

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


1

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

введите описание изображения здесь


1

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

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