XCode 4.2.выпуск: стандартный (armv7) - PullRequest
4 голосов
/ 17 июня 2011

Я хочу обновить свое приложение в App Store, но при попытке загрузить его я получаю сообщение об ошибке, что armv6 не поддерживается в моем приложении. Проблема в том, что я даже не могу выбрать Armv6 в качестве Архитектуры.

У меня есть следующие настройки архитектуры:

  1. Архитектура: Стандартная (armv7)
  2. Базовый SDK: последняя версия iOS (iOS 5.0)
  3. Создание только активной архитектуры: НЕТ
  4. Действительные архитектуры: armv6 armv7 armv7f armv7k

Я думал, что из-за 3 и 4 все установлено правильно.

Я НЕ могу поменять 1 на что-то другое.

Что я могу сделать?

Ответы [ 7 ]

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

Лучше вернуться к стабильной версии SDK для сборок дистрибутива. Apple даже писала об этом в предыдущих заметках по бета-сборке.

Я частично исправил эту проблему, установив для архитектуры значение «armv6 armv7». После этого я мог собрать универсальный бинарный файл, но сборка симулятора не работает. :)

1 голос
/ 16 ноября 2011

Удалите всю архитектуру из xcode, тогда она возьмет руку v6 и руку v7.

1 голос
/ 26 октября 2011

Некоторая предыстория для всех, кто видит дублированные ошибки символов и / или предупреждения о armv6, отсутствует.

  1. armv6 требуется, если ваши приложения поддерживают цели развертывания ниже iOS 4.3.
  2. Последний Xcode 4.2 по умолчанию имеет архитектуру = $ (ARCHS_STANDARD_32_BIT), которая отображается на armv7.
  3. Xcode 4.1 имеет ту же переменную env, но она сопоставлена ​​с armv6 и armv7.

Выполнение armv6 + armv7 в Xcode 4.2 требует некоторых хитростей ...

A) добавить "armv6" в список архитектур. Однако это нарушает сборки для Xcode 4.1, так как "armv6" + $ (ARCHS_STANDARD_32_BIT) = armv6 armv6 armv7 -> ошибки дублирующихся символов

B) использовать переменную $ (VALID_ARCHS), которая отображается на armv6 armv6 (и i386 для сборок симулятора)

1 голос
/ 18 октября 2011

это лучшее решение, даааа!

Выберите «Архитектура: Стандарт (armv7)» Выберите «Другое ...» Выберите кнопку «+» добавить "armv6" выберите «Готово»

1 голос
/ 06 октября 2011

То, как мы это исправили, состояло в том, чтобы перейти к настройкам целевой сборки, выбрать список архитектур и выбрать другие ... Затем нажмите кнопку «+», чтобы добавить свой собственный «armv6» без кавычек.Хит сделано, очистить цели и архив.

Имейте в виду, что ничего не нужно «выбирать» в списке архитектур.Это только список поддерживаемых архитектур, который должен содержать только две записи.

0 голосов
/ 11 ноября 2011

Удалить переменную среды $ (ARCHS_STANDARD_32_BIT) из параметра «Архитектура». Добавьте «armv6» и «armv7» в список архитектур. Если вы создаете свои собственные библиотеки - им тоже нужно иметь эти настройки.

0 голосов
/ 08 октября 2011
  1. Выберите «Архитектура: Стандарт (armv7)»
  2. Выберите «Другое ...»
  3. Выберите кнопку «+»
  4. добавьте"armv6"
  5. выберите "Готово"

Удачи

...