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, натисніть на вкладку "Проекти" та видаліть отримані дані для вашого проекту та очистіть проект та знову його складіть ..
Dinesh Raja

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
Це було для мене ключовим. Оцініть рівень деталізації у відповіді.
Jason Pawlak

Просто одна з "дійсно дратівливих" речей під час роботи над цією платформою
rushinge

2
не працює ... Я бігаю на пристрої
Rajneesh071,

Наведені вище кроки не вирішили питання. Я все ще отримую "Не вдалося запустити <app>. <App> не знайдено".
користувач298261

працював на мене, спробуйте це
Мухаммед Вакас

57

Спробуйте видалити "Необхідні можливості пристрою" у файлі -Info.plist.

Ви не можете вимагати armv7 на 3G, і ви не можете вимагати armv6 на будь-якому новому пристрої, тому просто видаліть цей атрибут повністю.


2
Це єдине забруднення, яке працювало на мене. Вже намагаючись оновити сертифікати, очистити папки для перезавантаження пристрою, xcode та mac нічого не допомогло. Просто видаліть атрибут, і він встановлений і працює добре.
automaticoo

1
Це рішення також працювало для мене - дивна помилка.
неправильне

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

Спробував це, не радість, але відповідь Sudhakar + Jagger спрацювала. Xcode 4.5.1 та iPad1
mm2001

Ця проблема була для мене: у моїй програмі потрібна «телефонія» як необхідна можливість, і я намагався запустити додаток на iPad mini лише для WiFi.
читза

38

Я знайшов відповідь. Версія цілі розгортання iOS не була такою ж, як версія ОС мого пристрою.


Зробив це і для мене. Чомусь XCode завжди хоче скинути ціль розгортання мого проекту до 6,0.
Дональд Берр

3
працював і для мене ... Я змінив тип пристрою з "iPhone" на "Універсальний" і xcode автоматично змінив ціль на 6.0, чого я спочатку не помітив. Зсунуто назад до 4.3, і воно спрацювало ...
Джим Хосе

Шкода видалення DerivedData та необхідних можливостей пристрою не допомогло, тому я встановив свою ціль розгортання від 6,1 до 5,0, і вона працювала на моєму iPod Touch під управлінням iOS 5.1.
Річард Альтенбург - Brainchild

о Боже. скільки разів я зроблю той самий провал ...
шістнадцять

це було рішенням для мене
ДжорджБукінгем

13

Спершу спробував щось із перерахованого вище із інформаційними списками та видаленням отриманих даних, очищення тощо.

Моє рішення: вийти з XCode, знову відкрити проект. Перейдіть до похідних даних у Finder. Видалені дані для всіх проектів (було все доступним для обміну, але спершу я б спробував видалити ваші проблемні дані). А потім це спрацювало знову. Видалення отриманих даних з XCode не спрацювало.


4
Шлях до виведеної папки даних: / Users / <User> / Library / Developer / Xcode / DerivedData /
Pascalius

це вирішило мою проблему + Видалення всіх папок звільнило 10 Гб пам’яті, тому подвійно дякую :)
thesmersmersign

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, оскільки "Products" відображається як у Xcode, так і на консолі пристрою. Це Xcode 4.5.1.

скріншот для встановлення збірки / продуктів


1
Чи можете ви відформатувати це, щоб зробити сенс трохи більш зрозумілим? Не очевидно, як це слід вводити.
йогобрюс

1
Нічого, дякую купу Кіт. Через 4 розчарування години виявляється, це було причиною. Як у світі це змінилося, поза мною.
karl_

1
Так, це вирішило мою проблему, але чому це сталося ?!
Алі

7

Я вирішив цю проблему шляхом

перейменування каталогу над моїм проектом XCode

Зміна назви проекту у XCodeфіксованій для мене формі.

У XCodeрозділі "Навігатор проектів" натисніть назву проекту, і це дозволить вам перейменувати його так само, як файл у Finder. Видалення отриманих даних не допомогло.


Це зробило це для мене, чомусь не вдалося, коли в назві проекту у мене був пробіл. Перейменований на відсутність білого простору і він працює добре.
rita

6

Я створив свій проект XCode за допомогою CMake і якось він (або мій дурний "я" видалив або очистив властивість "Виконавчий файл" в info.plist. Я повернув його назад до $ {EXECUTABLE_NAME}, і він знову працював.

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

Сподіваюся, це допоможе комусь, хто бореться з тією ж проблемою

Редагувати:

Це якимось чином CMake зіпсував мій файл плістів. Я створив власний 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 3G)


4

Я намагався запустити свій проект у іншій системі, відмінній від тієї, на якій він був розроблений. Я отримував "Не вдалося запустити xxx.app: .. Немає такого файлу ..".

Вилучив додаток із пристрою, а потім видалив отримані дані з органайзера в xcode для додатка. Органайзер -> Проекти -> Отримані дані -> Видалити

Мою проблему було вирішено.



4

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

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

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


Це, звичайно, помилка та виправлення. Очевидно, що багато несправностей XCode врізалося в це безпомилкове повідомлення про помилку. Цього разу для нас та ще декількох нижче, здавалося, це було викликано проблемами із сертифікатом / підписом / профілем, підкиданням декількох старих, що втратили чинність, і переконавшись, що я використовую всюди однакові профілі (як Jabolcnik нижче , У мене є кілька облікових записів розробників, мої роботодавці та власні.) Дозволено XCode запускати додаток на пристрої.
Тарін

4

У мене ця проблема була дуже дивним рішенням.

Моя проблема була дещо іншою, оскільки у мене є 2 сертифікати розробника в Keychain. У нас є два облікові записи розробника (скажімо, 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) помилка усунулася одразу після того, як я зробив "Додати в членський центр" зі своїм пристроєм в Організаторі.


Це допомогло. Однак мені потрібно було перезапустити пристрій після цього, щоб позбутися помилки.
Біт підстрибуючи

3

Хочу зазначити, що найпростіший спосіб відкрити папку DerivedData у Finder:

  1. Відкрийте Органайзер.
  2. Клацніть на "Проекти".
  3. Виберіть свій проблемний проект.
  4. Поруч із контуром DerivedData натисніть на маленьку кнопку зі стрілкою праворуч.

Видалення вмісту папки DerivedData працювало на мене. Замість використання кнопки "Видалити ..." ви повинні мати більший успіх, видаляючи файли вручну через Finder.


3

Перейдіть до: Ціль проекту -> Інформація, а з цільових властивостей CustoM iOS видаліть необхідні можливості пристрою. У моєму випадку це були armv7 та armv7s.

Після цього додаток було успішно побудовано на моєму iPhone 4.

Ось як це виглядає після того, як я зняв обидві вимоги


Я бачив ту саму проблему, додаток буде працювати на моєму 5S вперше, але не наступні рази, виявилося, що мої необхідні можливості пристрою були встановлені на "armv7", видаливши його з виправленого інформаційного списку
Cam Saul

2

Для мене я забув, що в телефоні "Необхідні можливості пристрою" в інформаційному списку "телефонія". Це видалили, і він нарешті спрацював на моєму iPad.


2

Для мене перезапуск Xcode, очищення DerivedData та перезавантаження пристрою в більшості випадків було недостатньо, поки я не з'ясував, що iTunes також працює, а після виходу з iTunes все працювало нормально!

Тому мої кроки зараз прості:

1. Закрийте Xcode.
2. Якщо iTunes працює, закрийте iTunes.
3. Повторно відкрити проект.

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


2

У мене виникла ця проблема і я спробував ряд пропозицій, які не спрацювали для мене - тоді я знайшов те, як видалити "Необхідні можливості пристрою" у файлі -Info.plist (який для мене включав розташування-служби та gps) Це спрацювало! Потім я повторно додав їх, і це все ще спрацювало. Це було xCode 4.6.1 і мій додаток розробник із Phonegap / Cordova


Я також знайшов там порожню рядок, і вона блокувала органайзер! Дякую за пораду!
PetrV

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.