XCode 4.2. выпуск: Standard (armv7)

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

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

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

Думал из-за 3 и 4 все правильно поставил.

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

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


person Malte Onken    schedule 17.06.2011    source источник
comment
Я не думаю, что мы вообще можем представить что-либо с таргетингом на 5.0 в настоящий момент ?! И это заставляет меня думать, что вы используете инструменты, которые в настоящее время не предназначены для использования в магазине приложений.   -  person Eiko    schedule 17.06.2011
comment
Правда, я перейду на Xcode 4.0.2. снова. Спасибо   -  person Malte Onken    schedule 17.06.2011
comment
Отправьте радар о проблемах, которые у вас есть с 4.2. Хотя это правда, что мы не должны писать производственный код в 4.2, они все же обращаются к такого рода проблемам. bugreport.apple.com   -  person Kalle    schedule 17.06.2011


Ответы (7)


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

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

person Evgen Bodunov    schedule 30.06.2011
comment
Да я понизил! Я не знал об этой информации, и мне было очень интересно узнать об инструментах ios5. - person Malte Onken; 30.06.2011
comment
Вам нужно сделать переопределение для конкретной архитектуры; т.е. ARCHS[sdk=iphone*] = armv6 armv7. Для этого в Xcode 4 есть кнопка +; это то, как настраивается параметр подписи кода (он не подписывает сборки симулятора). - person tc.; 19.08.2011
comment
Я применил тот же подход, но я отлично бегаю на симуляторе. Xcode 4.2, сборка 4C177 - person AWrightIV; 30.09.2011
comment
этот поток был начат до того, как был выпущен Xcode 4.2 для iOS5. Бета-версия имеет эту проблему. Теперь это решение работает без проблем. - person Evgen Bodunov; 16.11.2011

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

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

person Community    schedule 06.10.2011

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

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

person Bernardo Bemhamu    schedule 17.10.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 требует некоторых уловок ...

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

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

person Kim Le    schedule 26.10.2011

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

person Pawan    schedule 16.11.2011

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

Удачи

person Community    schedule 08.10.2011

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

person oliver    schedule 11.11.2011