Xcode 4 сообщает о завершении работы ‹мое приложение› на целевом устройстве. Ничего не происходит.

Приложение не устанавливается и не запускается на моем устройстве. Все профили обеспечения обновлены. Я уже пробовал удалить и переустановить их.

Строка состояния показывает, что Xcode строит мой проект, затем он говорит, что мой проект запущен, затем он говорит «завершено». В течение всего этого периода экран iPod остается черным. IPod обнаруживается в органайзере, и я не вижу ничего плохого в его конфигурации. Всего пару дней назад все работало отлично с Xcode 3.

Это не работает на симуляторе, но может быть важно отметить, что в симуляторе кажется, что он застревает на «Прикреплении к», и симулятор отказывается запускаться.


person D-Nice    schedule 13.03.2011    source источник
comment
Если вы создадите совершенно новый проект с использованием одного из шаблонов xcode и попытаетесь запустить его в симуляторе или устройстве, будет ли он работать? Я пытаюсь определить, нарушена ли установка / конфигурация xcode или что-то в приложении, о котором вы спрашиваете, влияет на поведение.   -  person kennbrodhagen    schedule 14.03.2011
comment
Создал новый шаблон проекта, и он заработал. Итак, теперь мы знаем, что в моем проекте что-то неправильно настроено.   -  person D-Nice    schedule 14.03.2011
comment
D-Nice, ты когда-нибудь решал это? У меня точно такая же проблема с моей игрой, и я не могу решить ее всю жизнь.   -  person Adam Johnson    schedule 10.07.2011


Ответы (25)


Для тех, кто читает это в отношении Xcode 4.2 и пытается запустить его на более раннем устройстве (например, iPhone 3G, 2G, iPod 1-го поколения и т. Д.), У меня есть другое решение. Новые проекты, созданные в Xcode 4.2, по умолчанию указывают «armv7» в «Требуемые возможности устройства». Вам нужно удалить это, если вы хотите поддерживать устройства, на которых работает armv6 (например, iPhone 3G).

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

Удалите armv7 из 'Требуемые возможности устройства' в yourProjectName-Info.plist

Вам также может потребоваться изменить настройки сборки для компиляции с помощью armv6 вместо armv7.

Это значение по умолчанию:

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

Дважды щелкните «Standard (armv7)», чтобы добавить еще один, затем нажмите «+» во всплывающем окне и введите «armv6»:

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

Нажмите "Готово", и это должно выглядеть так:

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

person MattyG    schedule 17.10.2011
comment
Бинго: мне пришлось сделать два описанных шага, чтобы правильно работать на моем старом iPhone 3G. Спасибо, MattyG! - person Ariel Malka; 17.10.2011
comment
Бесконечно благодарен! Я бы дал вам 10 голосов, если бы мог. Я перебирал все сценарии на этой странице, но безуспешно. Каким-то образом это значение должно было быть изменено, когда я обновился до XCode 4.3. - person IcyBlueRose; 17.10.2011
comment
Спасибо за ваши усилия по подробному объяснению процедуры. - person alekhine; 24.10.2011
comment
Жаль, что я не увидел это раньше, избавило бы меня от нескольких часов боли! Спасибо. - person Jamie Chapman; 10.11.2011
comment
Черт возьми! почему компилятор даже не подсказывает! Спасибо, Мэтти. - person M.Y.; 10.11.2011
comment
Потрясающе, это была моя проблема. У меня не было записи в моем файле plist, поэтому я проигнорировал первую часть, но вторая часть вашего опубликованного исправила мои проблемы! Спасибо! - person TheJerkMan24; 30.11.2011
comment
Спасибо огромное! Это спасло мне жизнь. - person ocean; 06.12.2011
comment
MattyG просит удалить значение «armv7» в вашем файле ‹TARGET› -Info.plist. Для ясности это означает, что нажмите кнопку «минус», чтобы полностью удалить значение. Сначала я просто отключил значение (но оставил в поддереве значение элемента 0), и я все еще страдал от проблемы OP. Обязательно полностью удалите поддерево Item 0. - person Tyler Collier; 09.12.2011
comment
Спасибо и мне! Многие предлагали добавить "armv6", но удаление armv7 - это уловка! - person Harry Wood; 16.12.2011
comment
Престижность, сэр. Я пытался понять это некоторое время (время от времени). - person Dustin Pfannenstiel; 09.02.2012
comment
Удалите armv7 из «Требуемых возможностей устройства» в yourProjectName-Info.plist - ›Спасибо - person Oded Regev; 20.02.2012
comment
Другой случай, который приводит к той же проблеме, - если вы добавили пустую запись в требуемые возможности устройства. - person mrueg; 12.06.2012

У меня просто была эта проблема, но для меня это было потому, что я указал только armv7 в своих архитектурах, а 3G - это armv6. Убедитесь, что у вас есть оба.

person axiixc    schedule 02.07.2011
comment
Это было для меня главной причиной. Так легко это забыть. Спасибо. - person Lukasz; 13.08.2011
comment
Чтобы добавить параметр armv6, см. Это: stackoverflow.com/questions/7488657/ - person pauloya; 07.10.2011
comment
Мой старый iPod Touch тоже должен быть armv6, потому что это исправление тоже сработало. - person progrmr; 05.11.2011
comment
Да, я почти уверен, что оригинальный iPhone, 3G и первые два iPod Touch были armv6. - person axiixc; 07.12.2011

У меня была эта проблема, и оказалось, что XCode по умолчанию установил цель развертывания на 4.3, тогда как мой телефон - 4.2.1. Изменение цели развертывания на 4.0, похоже, решило эту проблему.

person Jeremy Flores    schedule 14.04.2011
comment
Именно то, что я искал. - person abscondment; 08.07.2011
comment
У меня была эта проблема при установке цели развертывания на 5.1, когда мое устройство было только до 5.0.1 - ура, товарищ +1 - person theiOSDude; 16.03.2012

После добавления «armv6» в архитектуры проекта и целей убедитесь, что у вас нет «armv7» в разделе «Необходимые возможности устройства» вашего info.plist. Если это так, просто удалите его, и он должен работать!

person Johann    schedule 12.12.2011
comment
Ага, это причина моего дела. Понятия не имею, как необходимые возможности устройства armv7 попали в список. Спасибо! - person GeneCode; 09.02.2012

Та же проблема с приложением, которое не запущено на устройстве. Удаление приложения с устройства не помогло. Проект -> Очистить, затем Проект -> Выполнить снова тоже не помогло. Оказалось, что просто выход и перезапуск Xcode 4 решил это.

person SPitBalls.com    schedule 07.04.2011

У меня тоже было это. Я добавил в info.plist раздел UIRequiredDeviceCapabilities, который требует gamekit, и приложение не будет скопировано на iPhone 3G с iOS 4.2. Удалена необходимая возможность, все хорошо.

person Graham Perks    schedule 28.04.2011
comment
Как тогда вы должны тестировать приложения, для которых требуется gamekit, на самом устройстве? - person Rob; 01.05.2011
comment
Вы по-прежнему получаете GameCenter без вашего info.plist, в котором говорится, что вам нужно устройство, на котором он есть. На любом устройстве под управлением 4.2 есть GameCenter, поэтому мне не нужен дополнительный info.plist! - person Graham Perks; 09.05.2011

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

person Tomek Kopczuk    schedule 14.03.2011
comment
На устройстве больше нет никаких следов приложения. Я больше не думаю, что это проблема с подготовкой ... что-то было повреждено в моем проекте, но я понятия не имею, что это может быть. - person D-Nice; 14.03.2011

Мой случай: я по ошибке установил: Необходимые возможности устройства -> акселерометр на НЕТ (в Info.plist). Просто нужно вернуть его в ДА

Также: убедитесь, что требуемые возможности устройства имеют правильный тип: Boolean или String. Неправильный тип неизбежно приведет к сбою теста и загрузке приложения.

person Casey    schedule 28.07.2011

Для тех, кто все еще колеблется, еще одна вещь, которую я должен был сделать, - это сделать название моего целевого продукта одинаковым для конфигураций отладки и выпуска. Он «запускал» отладочную версию, которую я не создавал.

person Luke    schedule 27.05.2011

добавление архитектуры armv6 исправило это для меня.

person red_car    schedule 08.07.2011
comment
это было для меня; новая версия Xcode решает удалить armv6 из настройки сборки 'Architectures', поэтому вам нужно будет добавить его обратно вручную - person ; 16.10.2011

Иногда случается и со мной. Выполнение очистки (меню «Продукт» -> «Очистить») и выполнения (меню «Проект» -> «Выполнить») всегда исправляет это.

person TheBlack    schedule 14.03.2011
comment
Спасибо! Такое бывает часто. Каждый раз пробую что-то новое! Это ошибка в Xcode? - person Namratha; 12.06.2012

У меня была такая же проблема: перенес проект с xcode3 на xcode4, и после создания приложения xcode не захотел устанавливать и запускать приложение на моем телефоне.

Мое решение (которое сработало для меня):

  • Отредактируйте свою схему (которая предназначена для запуска)
  • В списке слева выберите «Запустить xyz.app».
  • На вкладке информации в Executable я выбрал .app. Измените это, перейдя в каталог сборки и выбрав свое приложение.

Сработало для меня, и с этого момента я могу использовать: «Продукт -> Выполнить действие -> Запускать без сборки» для запуска последней сборки. Это быстрее, чем просто нажать «Выполнить», так как никакие действия по сборке выполняться не будут.

person bxantus    schedule 13.09.2011
comment
у меня нет каталога сборки? странный. - person Sam Jarman; 08.12.2011

Просто перезагрузите устройство. Сделайте чистый проект. Удалите приложение с устройства и выполните повторную сборку.

person Alex Terente    schedule 12.12.2011

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

person GeorgioA    schedule 02.09.2011

У меня была такая же проблема с моим игровым проектом, использующим Cocos2D. «Привет, мир» из шаблона работал нормально, мой проект работал нормально в симуляторе, но не удалось запустить на устройстве с сообщением: «Завершено».

Я заменил Info.plist в своем проекте на исходный из шаблона, и это сработало для меня!

person rudyryk    schedule 05.09.2011

Я испытал это дважды с двумя разными приложениями при переходе на самую последнюю версию Xcode. В первый раз работала компиляция приложения с компилятором GCC LLVM. Во второй раз сработало добавление обратно в архитектуру armv6 в качестве поддерживаемой архитектуры, поскольку она была удалена, когда Xcode автоматически обновил проект.

person Halle    schedule 12.10.2011

Я решил это, изменив «акселерометр» с «НЕТ» на «ДА» в моем Info.plist.

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

person codeperson    schedule 20.10.2011
comment
ваше приложение поддерживает акселерометр? - person mac; 18.11.2011

Мое решение заключалось в том, чтобы добавить UIInterfaceOrientationPortrait в массив UISupportedInterfaceOrientations в Info.plist, хотя мое приложение не поддерживает портретную ориентацию.

person Morrowless    schedule 22.12.2011

Поле под названием «Приложение требует среды iPhone» каким-то образом попало в мой список. Я удалил его и вуаля! Он работал на моем iPod.

person Namratha    schedule 28.05.2012

В моем Info.plist целевое членство было установлено на мою цель сборки. Удаление его из целевого членства решило проблему.

person RohinNZ    schedule 02.06.2012

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

person Ben Flynn    schedule 22.06.2012

Убедитесь, что целевая версия развертывания ‹= версия iOS на вашем устройстве. Вот как я решил эту проблему.

person d4n13l    schedule 25.07.2012

У меня была такая же проблема около 45 минут. Очистка не помогла, пересоздание проекта не помогло, версия для рук не помогла. У меня было открыто несколько сообщений «Не удалось синхронизировать с iTunes», которых я раньше не видел. Нажатие ОК на них, похоже, устранило проблему :(

person John Fawcett    schedule 29.08.2012

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

На самом деле, в проекте XCode должно быть что-то сломанное. Лучше всего создать новый проект с нуля. Не забудьте добавить поддержку armv6, как было сказано в предыдущем посте.

У меня это хорошо работает!

person Claude COULOMBE    schedule 27.09.2012

Это случилось со мной, когда я пытался запустить приложение watchOS на устройстве, потому что версия watchOS на моих часах Apple Watch была выше, чем поддерживаемый мной Xcode, установленный в данный момент. Я обновился до последней версии Xcode (что также потребовало от меня обновления до последней версии macOS), после этого все работало нормально.

person nickjwallin    schedule 03.06.2019