IPhone/iPod Touch: для исполняемого файла отсутствует требуемая архитектура

У меня проблема с xCode 4.2. Я получаю эту ошибку при создании:

2011-06-18 13:35:49.839 Validation[4110:607] *** Warning: Defaulting to the standard codesign tool
warning: iPhone/iPod Touch: application executable is missing a required architecture.  At least one of the following architecture(s) must be present: armv6 (-19033)
Unable to validate your application. - (null)

Я просмотрел настройки моего проекта, и он:

architectures: Standard (arm7) - ${ARCHS_STANDARD_32_BIT)
Build active architecture only : NO

Не уверен, что

Ответ 1

По какой-то причине настройки архитектуры по умолчанию с xCode 4.2 предназначены только для armv7. Перейти к Target → Настройки сборки → Архитектуры → Релиз в раскрывающемся меню выберите "Другое...",

удалите $(ARCHS_STANDARD_32_BIT) и добавьте 2 строки сначала с "armv6" и вторым "armv7"
Готово

Ответ 2

Для Xcode 4.5 установите цель развертывания как минимум для iOS 4.3, и это решит проблему. Более ранние версии iOS почти вымерли.

Ответ 3

Не оптимальное решение, но я обнаружил, что если я изменил цель развертывания на 4.3 (раньше это было 4.0), он избавился от этой ошибки.

Ответ 4

Для XCode 4.5

Чтобы установить "Цель развертывания" на 4.3, "Архитектуры" на armv6 armv7 armv7s, как описано выше, И "Строить только активные архитектуры" до Нет.

Это в проекте, который работал отлично в течение нескольких месяцев перед обновлением до XCode 4.5.

Ответ 5

Примечание. Задайте целевой объект развертывания iOS версии 4.3 или более поздней версии, если вы хотите отказаться от поддержки ARM v6 для своего приложения. Процессор ARM v7 требуется для запуска версий iOS позже 4.2.1.

Ответ 6

Мой предыдущий ответ был удален модератором, потому что я не соблюдал их правила. Итак, снова отвечая.

Я столкнулся с той же проблемой и потратил 2 дня на нее. В моем случае это вызвало обновление до XCode. Я понизил XCode до предыдущей версии, и это было исправлено для меня. Если это ваша проблема, удалите новую версию, перезагрузите и снова установите старую версию. Это должно сделать это за вас.

Я также добавил некоторые скриншоты и информацию в мой блог об этой проблеме: http://iostipsntricks.wordpress.com/2011/06/24/solved-application-executable-is-missing-a-required-architecture-at-least-one-of-the-following-architectures-must-be-present-armv6/

Ответ 7

Совсем аналогичная проблема с Xcode Version 4.2. и получил еще одну ошибку:

There is no codesign:wrapper executable. Please reinstall the Xcode developer tools.

После понижения Xcode до более старой версии она устранила проблему.

Ответ 9

Мой ответ может решить вашу проблему: У меня была эта проблема, даже после выполнения принятого ответа, и нашел следующее:

В вашем Info.plist добавьте запись для необходимых возможностей устройства. Это должен быть массив и будет иметь две записи.

Item 0 : armv6
Item 1 : armv7

Он будет выглядеть следующим образом:

Обязательные записи возможностей устройства

Ответ 10

Имел ту же проблему, попробовал все, что упоминалось здесь, но все же получил ошибку при проверке - Я попробовал шаги armv6 и armv7, попытался добавить это в info.plist, а также попытался восстановить сертификат распространения на всякий случай.

Оказывается, файл info.plist должен иметь ${EXECUTABLE_NAME} и ${PRODUCT_NAME} в соответствующих полях ТАКЖЕ Имя продукта в настройках сборки для этой схемы + Цель СЛЕДУЕТ соответствовать имени схемы Я убедился, что все имена совпадают точно EXECUTABLE_NAME, PRODUCT_NAME, Имя продукта в целевом, двоичном имени в настройках сборки и информационном plist и разворачиваемом двоичном имени - убедитесь, что они соответствуют самому имени цели

Как только все имена совпадут, а архитектура будет соответствовать, она сработает. До тех пор он продолжал давать мне ошибку при проверке.