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

Я использую xCode 4.2 и пытаюсь развернуть свое приложение. Я не могу подтвердить следующее сообщение об ошибке:

application executable is missing a required architecture armv6

Значение для моей Архитектуры установлено на Стандарт (armv7). Это ЕДИНСТВЕННАЯ опция в выпадающем списке. Базовый SDK: iOS 5.0 (это единственный вариант) SDK для развертывания: 3.2. Сборка только для активной архитектуры: НЕТ. Допустимые архитектуры: armv6 armv7 armv7f armv7k

Кто-нибудь знает, пожалуйста, решение этой проблемы?

8 ответов

В Xcode 4.2 GM это все еще проблема, но вы можете решить ее, выполнив следующее.

  1. Переключиться на просмотр файлов / папок в проекте xcode

  2. Выберите ваш проект (синий значок)

  3. Выберите ваше приложение в разделе Цели в центре экрана.

  4. Перейти к созданию настроек

  5. Найти архитектуры> Распределение

  6. Разверните этот раздел, чтобы увидеть как отладку, так и выпуск

  7. Измените "Стандарт (armv7) - $(ARCH_STANDARD_32_BIT)" на "Другие..."

  8. Замените "Standard (armv7) - $(ARCH_STANDARD_32_BIT)" на "armv6", затем добавьте новый элемент "armv7"

Помните, что вам может понадобиться сделать это для всех включенных проектов, таких как фреймворки, такие как TAPKU

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

Простой способ сделать это:

1) Щелкните левой кнопкой мыши значок проекта (синий значок под кнопкой "Выполнить").

2) Рядом со значком проекта (справа от него) щелкните левой кнопкой мыши на имени проекта в разделе "ПРОЕКТ" (белый фон).

3) Выберите вкладку "Настройки сборки" и найдите подменю "Архитектура" (Первая). Щелкните левой кнопкой мыши на "Standard (armv7) $(ARCH_STANDARD_32_BIT)" и выберите "Other..."

4) Нажмите на значок "-", чтобы удалить исходное значение ("$ (ARCH_STANDARD_32_BIT)"). Нажмите на значок "+" и напишите "armv6" (без двойных кавычек). Снова нажмите значок "+" и добавьте "armv7" (также без двойных кавычек). Нажмите "Готово".

5) Убедитесь, что "Build Active Architecture Only" установлено на "No" (должно быть)

6) Рядом со значком проекта (справа от него) щелкните левой кнопкой мыши имя проекта в разделе "ЦЕЛИ" и повторите шаги 3, 4 и 5.

7) Нажмите cmd + I на клавиатуре (или Product -> Profile в меню Xcode) и проверьте, все ли в порядке.

Моя среда была Xcode 4.5.1. Изменение двух вещей решило эту проблему для меня.

  1. Установка цели развертывания как минимум на iOS 4.3.
  2. Сохранение только архитектуры armv7 в списке архитектур в настройках сборки и удаление всех остальных (включая armv6) явным образом.

Я натыкаюсь на этот вопрос, ища решение для предупреждения:

warning: iPad: application executable is missing a required architecture.
At least one of the following architecture(s) must be present: armv7 (-19033)
Unable to validate your application. - (null)

Другие ответы не решили мою проблему, тогда я понял, что изменил значение CFBundleExecutable, Когда я вернулся к старому значению, все снова прошло гладко.

Я не уверен, что является прямой причиной этого предупреждения, но, по крайней мере, я могу снова распространять сборки Ad Hoc.

Все ответы не помогли в моем случае, используя Xcode 4.2.1.

То, что я сделал, менялось Architectures от armv7 в armv6 armv7 и это сработало. Как это:

Добавление armv6 было только частично проблемой для меня, чтобы решить ту же проблему с Xcode 4.5. Мне также пришлось увеличить цель развертывания с iOS 4.1 до iOS 5.0, чтобы заставить его работать. Много часов разочарования за такое просто исправление. Надеюсь, поможет.

Для меня это помогло, когда я установил только armv6 под архитектуры

Другие вопросы по тегам