Подтвердить что ты не робот

Xcode не может работать в выбранном пункте назначения

Сегодня утром я запускал свое приложение, и теперь неожиданно я получаю следующую ошибку, когда пытаюсь запустить симулятор iPhone 5.1.

Не удается запустить выбранный пункт назначения

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

Я удалил схемы, но до сих пор не решил.

Я использую Mountain Lion. Я использую xCode 4.4 (недавно обновлен до Mountain Lion и xCode 4.4)

ОБНОВЛЕНИЕ 1: Вот вид моих настроек сборки:

enter image description here

ОБНОВЛЕНИЕ: Вот фактическая ошибка, которая предотвращает ее выполнение.

enter image description here

4b9b3361

Ответ 1

Вы можете выполнить следующие шаги:

  • Quit Xcode и iPhone симулятор
  • Отключите ваши устройства.
  • Перейти к /Users/your_usr_name/Library/Developer/Xcode/DerivedData/
  • Удалить все данные в этой папке
  • Запустите Xcode снова и запустите проект

Надеюсь, это решит вашу проблему.

Ответ 2

У меня возникла проблема после обновления с SDK от 3.1 до Facebook SDK 3.1.1. По-моему, я виноват.

Внутри папки "resources" теперь есть абсолютно бесполезный, но опасный info.plist, который, если импортируется, может разорвать ваш файл проекта. Не знаю, почему они включили его, но я считаю, что некоторые из нас недавно совершили ту же ошибку.

Ответ 3

Я нашел эту проблему с версией Xcode 4.4. И, наконец, я решил это так:

Найдите "Info.plist" в своем проекте, затем отмените выбор целевого членства плюс в правом окне окна, он работает для меня.

Ответ 4

Вы также можете проверить, использует ли проект поддерживаемый компилятор в настройках проекта the option shown in blue

Ответ 5

Его просто дублированный файл Info.plist просто используйте 1 файл Info.plist в файлах, затем перезапустите xcode его исправлено для меня

Ответ 6

Я только что столкнулся с этой ошибкой в ​​Xcode 4.5.1, и ошибка исчезла после того, как я вывела все не-альфа-символы из настройки сборки Product Name.

Ответ 7

Я считаю, что это может быть текущая незарегистрированная ошибка с Xcode 4.4+. У меня/была такая же проблема с моим проектом. Я удалил все версии Xcode и перезапустил с 4.4, открыл мой проект и снова получил ошибку.

Затем я начал новый проект с шаблоном с другим именем. Не было проблемы.

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

Разочарованный Я закрыл на день и перезапустил старый проект, и он сработал. Я ничего не изменил. В настоящее время у меня есть ошибка снова, и ни перезагрузка, ни перезапуск Xcode не исправляют ее.

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

Моя проблема не появлялась до тех пор, пока я не обновился до Mountain Lion и Xcode 4.4, который оказался в тот же день. Теперь я не могу вернуться к 100-процентной работоспособной конфигурации.

Ответ 8

Завершение моих файлов в SVN и проверка проекта в новом каталоге исправили это для меня.

Ответ 9

Посмотрите как на проект, так и на целевые параметры сборки на этой архитектуре и посмотрите, не изменилось ли что-либо. Когда вы сначала переходите от Xcode 3 к 4, он использует скрытый хаос, давая ту же ошибку, и в конце вам нужно добавить i386 в строку "Действительные архитектуры". Я просто посмотрел на свой большой проект, запущенный в Xcode 4.1, и он ничего не показывает о i386 и т.д., Но у меня есть другие более новые проекты, где я получаю эту выделенную вещь в этой строке $(ARCHS_STANDARD_32_BIT).

РЕДАКТИРОВАТЬ: Я принял это предложение с другом-гуру. Ни один из нас не может найти связь с i386 в наших проектах - Xcode использует некоторую магию. Тем не менее, я получил удар по i386 в двоичном plist внутри проекта, что приводит меня к другому предложению.

В настройках сборки убедитесь, что ВСЕ "Архитектуры" - $(ARCHS_STANDARD_32_BIT).

Если это не сработает, мы предлагаем вам посмотреть строки компиляции и ld вашей сборки, когда вы выбираете iPhone 5.1 Simulator в меню схемы - чтобы увидеть, действительно ли это i386,

Другая идея - перенести все свои схемы и пользовательские настройки в папку сохранения где-нибудь (с закрытым проектом), затем снова открыть и воссоздать схему. Теперь попробуйте еще раз. Нет ссылки на i386 в любом из моих файлов project.pbxproj, поэтому наше подозрение в том, что это как-то связано с настройкой схемы для целевого устройства.

Удачи!

Ответ 10

Я решил изменить как в проекте, так и в настройках целевой сборки ключ "Варианты сборки" от "armv7" до "normal"

Ответ 11

в дополнение к удалению всех файлов в этом каталоге Пользователи /your _usr_name/Library/Developer/Xcode/DerivedData/

Я перезапустил свой Mac, и он работал нормально (перезагрузка xcode и симулятор не разрезал для меня)

Ответ 12

Я столкнулся с этой проблемой. В моем случае оказалось, что я изменил имя Bundle для моего проекта с несколькими целевыми объектами вместо имени продукта. Как только я исправлю это, правильно отредактировав имя проекта, а затем вернув имя Bundle Name в значение ${PRODUCT_NAME}, он снова запустится в симуляторе.

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

Ответ 13

Я столкнулся с той же проблемой с моим проектом. Вот краткое объяснение ситуации и мое решение. Это может быть или не работать в вашем случае.

Я работаю в месте, где есть несколько проектов iOS. Недавно я обновил систему до Mac OSX 10.8 и Xcode 4.4.1. Я работал над проектом, который был первоначально построен на Xcode 4.1 для iOS 4. Так как Xcode имел iOS 4-симуляторы до 4.3, проект был построен и отлично работал на всех симуляторах. Однако в Xcode 4.4.1 я не нашел iOS 4-симуляторов, и нет простого способа их установить, поэтому я получаю сообщение "Can not run at selected destination". Вот как я получил свой проект для запуска.

  • Установите флажок Build Settings > Architectures и установите для архитектуры все Standard (armv7) или ${ARCHS_STANDARD_32_BIT} для всех ваших профилей.

  • В моем случае установите Base SDK в Latest iOS(<ios version #>) 5.1.

  • Задайте Build Active Architecture Only - NO для всех профилей.

  • Установите Valid Architectures в armv6 armv7 для всех профилей. Возможно, вам придется добавить либо в зависимости от того, что уже доступно.

  • Установите iOS Deployment Target в iOS 5.1 (в моем случае).

  • Убедитесь, что у вас есть та же цель под Deployment Target на вкладке Summary вашего проекта.

Очистите и запустите и скрестите пальцы!

Ответ 14

В моем случае проблема возникает после удаления всей папки "Ресурсы", копирования папки "Ресурсы" из другого или старого проекта поверх текущей, а затем добавления этой папки.

Я решаю проблему с помощью инструмента Analyze: после анализа, она нагревает меня в Info.plist внутри "Copy Bundle Resources".

Просто перейдите на вкладку "Копирование запаса" (на вкладке "Сборка фразы" ), удалите Info.plist, затем перезапустите Xcode, очистите и создайте. Мой проект вернулся к нормальной жизни.

Надеюсь, что помогите кому-то:)

Ответ 15

Я думаю, что многие из этих решений заставляют полностью перестраивать, что и решает это для меня.

Я сделал Product = > Clean, и проблема исчезла.

Ответ 16

Для меня это сработало: - Проверьте, все ли ссылки на продукты согласованы в настройках и plists. Также проверьте, что имя продукта не содержит пробелов или других "незаконных" символов.

Ответ 17

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

Ответ 18

Судя по ответам, этот тип ошибок имеет много потенциальных источников, поэтому вот моя (по общему признанию, неосторожная) версия ошибки (и простое решение):

  • Параметры конфигурации проекта XCode могут быть установлены на двух уровнях: уровне проекта и целевом уровне. Для тех, кто менее известен, целевой уровень - это то, где у вас есть исполняемое приложение, и часто другие элементы, такие как построение динамической библиотеки.
  • В разделе "Связывание" настроек сборки есть опция для типа Mach-O, где вы можете установить исполняемую, динамическую библиотеку, статическую библиотеку и т.д.
  • У меня возникли проблемы с подготовкой динамической библиотеки, проверкой параметров сборки для проекта и увидел, что Mach-O был пустым. Поэтому я установил динамическую библиотеку. Затем я продолжил рассмотрение других вещей и забыл, что сделал это изменение. Но я не понимал, что я был на общем уровне проекта, а не на целевом уровне для реальной динамической библиотеки. Это изменило все целевые настройки Mach-O на динамическую библиотеку.
  • И, конечно, исполняемый объект не понравился, когда его рассматривали как динамическую библиотеку, и я получил сообщение об ошибке OP.
  • Установка исполняемого файла обратно к исполняемому файлу Mach-O в настройках сборки на целевом уровне устраняет все. Раздражающе, на уровне уровня проекта все еще говорилось о динамической библиотеке, но при правильных настройках целевого уровня все работало нормально.

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

Ответ 19

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

У меня необычная ситуация с двумя проектами: один родитель "Приложения" и один "Двигатель". Весь компилируемый код находится в дочернем элементе, а родитель просто связывается с дочерним элементом, копируя в проект массу ресурсов, связанных с App.

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

Мое решение добавляет эту C-функцию/файл в проект приложения:

int workaround_for_xcode_reporting_cannot_run_on_selected_destination(){return 0;}

Ответ 20

Я восстанавливаю данные с машины времени. Обратите внимание, что это те же самые данные, которые были сохранены всего 1 час назад. Проблема началась вчера. Таким образом, это должны быть ТОЧНЫЕ одинаковые данные. \

Но он работает.

Ответ 21

Я пробовал все, что здесь было сказано. Ничего не получилось. Кажется, что я как-то импортировал Info.plist дважды. Чтобы исправить это, я выбрал проект и нажал кнопку "Проверить настройки". Впоследствии он работает для меня.

Ответ 22

После полудня эксперимента, я думаю, это означает, что отладчик не может найти ваш исполняемый файл для запуска. Я думаю, что это важное отличие от предыдущих ответов, потому что это основная причина, которая может иметь множество симптомов. В моем случае он не смог согласовать приложения Info.plist для пользовательской сборки, где мы копировали plist для сборки. Я изменил настройку сборки на Alt-Info.plist для AltDebug и исправил ее. Также подразумевалось не больше копирования.

Ваша основная причина может быть иной, поэтому ключевой вывод - думать о том, почему Xcode может не найти ваше построенное приложение.

Ответ 23

Вы будете рады узнать, что эта проблема имеет очень простое решение. Выберите Info.plist в дереве навигатора проекта и убедитесь, что он не назначен цели. Я подтвердил, что это правильное решение. Если вы создаете iOS 6 или более раннюю версию, вам также может потребоваться добавить armv6 в поддерживаемые архитектуры.

Ответ 24

У меня была эта проблема после обновления до Mountain Lion и XCode 4.4.1 для проекта OSX. Чтобы решить эту проблему, мне пришлось обновить цель развертывания до 10,5 или выше; он был установлен на 10.4 и выше.

Ответ 25

Вы должны найти в "Activity Monitor" процесс Xcode и убить его! Я просто сделал это, чтобы решить подобную проблему!

Ответ 26

У меня возникла эта проблема после случайного удаления папки "Ресурсы", когда я добавил ее снова в проект, Bam!

Я также использую Mountain Lion и XCode 4.4!

пытаясь выяснить, что вызывает это, но, похоже, оно воспроизводится при удалении, а затем добавляет файл info.plist! может кто-нибудь подтвердить это?

Ответ 27

У меня была такая же проблема после двух событий:

  • Я обновил до версии 3.0 SDK для Facebook.
  • Я обновил свой OSX (с незначительным обновлением версии).

Единственное исправление, отработанное мной, заключалось в добавлении armv7s (разумеется, "s" в конце!!!) Как было предложено здесь: fooobar.com/questions/97407/...

Ответ 28

Еще одно вариантное решение: после попытки всего всего в списке выше я исправил это, обратившись к предупреждению о том, что путь TestFlightSDK1 не найден. Для этого я удалил соответствующий путь из путей поиска заголовков (настройки сборки > пути поиска) и удалил TestFlightSDK, и теперь все будет работать нормально.

Ответ 29

У меня было это от начала, и похоже, что проблема заключается в том, что эмулятор не может обрабатывать виртуальные смарт-карты. К сожалению, я просто использовал свой Android-телефон, подключенный через USB.

Ответ 30

Извлеките Info.plist из этапа сборки ресурса Copy Bundle. Это сработало для меня!