XCode 4.4.1: невозможно развернуть на устройстве или в симуляторе: неподдерживаемая архитектура

У меня возникли проблемы с развертыванием на любом устройстве в XCode 4.4. Я тестировал только на устройствах armv7, но хочу развернуть только на armv7. Приложение компилируется без проблем.


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

Ошибка устройства


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

Ошибка симулятора


Я проверил, что Архитектуры и Допустимые архитектуры в настройках сборки содержат только armv7.

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

Другие вопросы предполагают, что цель развертывания может быть неправильным, но я проверил и это, и для всех проектов и целей установлено значение iOS4.0. (Все устройства iOS5.0+)

У кого-нибудь есть предложения, пожалуйста?


person James Webster    schedule 15.08.2012    source источник
comment
разве это не должно быть i386 для симулятора ..?   -  person Ankit Srivastava    schedule 15.08.2012
comment
Возможно, но на устройстве он тоже не запускается.   -  person James Webster    schedule 15.08.2012
comment
У меня была похожая проблема, которая как появлялась, так и исчезала без видимой причины (в течение нескольких минут). Я хотел бы знать причину.   -  person Mankarse    schedule 15.08.2012
comment
Это новый проект, и у меня он работал как на симуляторе, так и на устройстве, но, возможно, некоторые настройки были изменены.   -  person James Webster    schedule 15.08.2012


Ответы (2)


Хотя я не мог найти точно, почему это происходит. Я исправил это, удалив данные проекта.

  • Закрыть XCode
  • Открытый терминал
  • cd в ваш каталог .xcodeproj
  • Recursively delete any project data files associated with the current user name
    • find . -name "YOUR_OSX_USERNAME_HERE*" | xargs rm -rf
  • Повторно открыть XCode
  • На всякий случай сделайте чистую сборку

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

Была эта ошибка снова и не была решена только вышеуказанными шагами. Было еще два фактора:

  • Убедитесь, что Info.plist не является частью целевого членства.

  • Очистить DerivedData

    • Quit Xcode and iPhone simulator
    • Отключите ваши устройства
    • Перейти к ~/Library/Developer/Xcode/DerivedData/
    • Удалить все данные в этой папке
    • Запустите Xcode снова и запустите свой проект
person James Webster    schedule 16.08.2012

Я обнаружил, что Xcode действительно нравится «$ (ARCHS_STANDARD_32_BIT)» для «Архитектуры». Если это не установлено, попробуйте «Действительные архитектуры» с помощью armv7.

Просто любопытно — если строить только для новых телефонов, почему бы не использовать цель развертывания 4.3? Вы сможете использовать некоторые из новых блочных технологий, которых не было в более ранних версиях.

person David H    schedule 15.08.2012
comment
You'll be able to use some of the new block technologies not in the earlier releases. — Блоки доступны с версии 4.0 и действительно являются одной из причин, по которой цель развертывания не ниже. Apple Doc on Blocks - person James Webster; 16.08.2012
comment
К сожалению, это те значения, которые у меня уже были. пробовал по другому, без изменений - person James Webster; 16.08.2012