iPhone / iPod Touch: в исполняемом файле приложения отсутствует необходимая архитектура - PullRequest
34 голосов
/ 18 июня 2011

У меня проблема с 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

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

Ответы [ 10 ]

75 голосов
/ 07 октября 2011

По какой-то причине настройки архитектуры по умолчанию в xCode 4.2 предназначены только для armv7.Перейдите в Target -> Build Settings -> Architectures -> Release по значению и выберите «Other ...»,

remove $ (ARCHS_STANDARD_32_BIT) и добавьте 2 строки, сначала с «armv6», а затем с «armv7»
Готово

38 голосов
/ 14 сентября 2012

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

7 голосов
/ 05 октября 2011

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

6 голосов
/ 12 октября 2012

Для XCode 4.5

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

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

1 голос
/ 06 февраля 2013

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

0 голосов
/ 13 августа 2013

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

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

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

0 голосов
/ 19 июня 2012

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

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

Item 0 : armv6
Item 1 : armv7

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

Требуемые записи о возможностях устройства

0 голосов
/ 18 сентября 2011

Проверьте это сообщение, оно является правильным, просто измените настройку в Xcode 4.2, просто установите «Build Active Architecture only» на NO:

В приложении iTunes Connect отсутствует необходимая архитектура

0 голосов
/ 30 июня 2011

Была абсолютно та же проблема с версией Xcode 4.2.и получил также другую ошибку:

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

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

0 голосов
/ 25 июня 2011

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

Я столкнулся с той же проблемой и потратил на нее 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/

...