у виконуваному додатку відсутня необхідна архітектура armv6


81

Я використовую xCode 4.2 і намагаюся розгорнути свою програму. Помилка перевірки із таким повідомленням про помилку:

application executable is missing a required architecture armv6

Значення для моїх архітектур встановлено на Стандарт (armv7). Це ЄДИНИЙ варіант у випадаючому списку. Базовий SDK: iOS 5.0 (це єдиний варіант) Розгортання SDK: 3.2 Створення лише активної архітектури: НІ ЧИСЛИХ Архітектур: armv6 armv7 armv7f armv7k

Хто-небудь, будь ласка, знає рішення цієї проблеми?



Насправді дублікат запитання має інше рішення, яке полягає у поверненні до старої версії xCode. Мені було цікаво, чи є спосіб вирішити цю проблему для поточної версії.
azamsharp

Виявляється, єдиним рішенням є видалення xCode 4.2 та встановлення xCode 4.1
azamsharp

1
Оскільки iOS 5.0 і Xcode 4.2 є бета-версією програмного забезпечення, вони все ще перебувають під NDA. Найкраще обговорити їх на форумах розробників Apple: devforums.apple.com . Якщо ви виявили помилку з інструментами, обов’язково подайте звіт на bugreport.apple.com .
Бред Ларсон

Відповіді:


83

У Xcode 4.2 GM це все ще проблема, але ви можете вирішити її, виконавши наступне.

  1. Перейдіть до подання файлів / папок у проекті xcode

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

  3. Виберіть свою програму в розділі Цілі в середині екрана.

  4. Перейти до створення налаштувань

  5. Знайти Архітектури> Розповсюдження

  6. Розгорніть цей розділ, щоб ви могли бачити як налагодження, так і випуск

  7. Змінити "Стандартний (armv7) - $ (ARCH_STANDARD_32_BIT)" на "Інше ..."

  8. Замініть "Стандартний (armv7) - $ (ARCH_STANDARD_32_BIT)" на "armv6", а потім додайте новий елемент "armv7"

Пам'ятайте, що вам може знадобитися зробити це для всіх включених проектів, таких як фреймворки, такі як TAPKU

введіть тут опис зображення


Я насправді не розумію крок 8 ... Не могли б ви розказати, будь ласка?
Самуель

4
Якщо ви виберете ІНШЕ зі спадного меню, ви отримаєте вікно, в якому були сітки, ви можете додати armv6 на одному рядку та armv7 на наступному рядку. Доданий вами знімок екрана помилковий.
J3RM

Це мене врятувало. Дуже дякую !
fyasar

1
Переконайтеся, що для параметра «Побудувати активну архітектуру лише» встановлено значення «Ні». В іншому випадку, якщо ви підключені до пристрою, він буде створюватися лише для цього пристрою ...
user739711

46

Для Xcode 4.5 встановіть ціль розгортання принаймні iOS 4.3, і це вирішить проблему. armv6 та попередні версії iOS майже вимерли.


2
Щиро дякую за це, це вже коштувало мені 2-годинного головного болю!
RickJansen

2
так, встановлення цільового значення для iOS 4.3 вирішує проблему і в останньому 4.5.1 ... thx
Jim Jose

40

Простий спосіб зробити це:

1) Клацніть піктограму проекту лівою кнопкою миші ( синя піктограма , під кнопкою "Виконати").

2) Біля значка проекту (праворуч від нього) клацніть лівою клавішею миші на назву проекту в розділі "ПРОЕКТ" (білий фон).

3) Виберіть вкладку "Параметри побудови" та знайдіть підменю "Архітектура" (Перше). Клацніть лівою кнопкою миші на "Стандартний (armv7) $ (ARCH_STANDARD_32_BIT)" і виберіть "Інші ..."

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

5) Переконайтеся, що для параметра "Побудувати активну архітектуру лише" встановлено значення "Ні" (має бути)

6) Біля піктограми проекту (праворуч від неї) клацніть лівою кнопкою миші на назву проекту в розділі "ЦЕЛІ" та повторіть кроки 3, 4 та 5.

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


3
Я вважаю, що ці вказівки є більш чіткими, але не забувайте важливу примітку від @ J3RM: "Пам'ятайте, вам може знадобитися зробити це для всіх включених проектів, таких як фреймворки, такі як TAPKU"
benvolioT

мої налаштування були такими, що для параметра "Побудувати активну архітектуру лише" було встановлено значення true - дякую за рішення!
Кріс Брандт,

На кроці 4, про який ви згадали, натисніть Готово. Але я не бачу жодної кнопки ВИКОНАНО. : / Мені чогось тут не вистачає?
rohan-patel

5

Моє середовище було Xcode 4.5.1. Зміна двох решень вирішила цю проблему для мене.

  1. Встановлення цілі розгортання принаймні iOS 4.3.
  2. Зберігаючи лише архітектуру armv7 у списку Архітектури в налаштуваннях збірки та явно видаляючи всі інші (включаючи armv6).

Так, я теж. Мій додаток, призначений лише для iPad, відмовлявся будувати, поки я не вилучив armv7s зі списку архітектур.
Mike Gledhill

4

Я натрапляю на це питання, коли шукаю рішення попередження:

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. Коли я повернувся до старого значення, все знову пройшло гладко.

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


Дійсно дивно, отримав одне і те ж попередження та разом із деякими непов’язаними. Змінив вартість CFBundleExecutableback на те, що воно було, і все пройшло нормально. Спасибі!
Адріано Лукас

3

Всі відповіді не допомогли для мого випадку, використовуючи Xcode 4.2.1.

Те, що я зробив, змінювалося Architecturesвід armv7до, armv6 armv7і це спрацювало. Подобається це:

введіть тут опис зображення


3

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


5
Досить збільшити ціль до 4,3.
SK9

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.