2012-02-25 2 views
3

Недавно я обновил Xcode с 3.2 до 4.2. После обновления у меня возникла проблема с тестированием моего приложения на устройстве iPhone 3, потому что пункт «Архитектура» моей цели «Настройки» был настроен на armv7. Проблема переключилась в «Архитектура» на armv6.Какие настройки Xcode следует использовать для поддержки armv6 и armv7?

Но это заставило меня подумать, что я лучше сделаю правильный выбор для своей версии App Store, чтобы мое приложение работало для людей, использующих устройство armv6.

Так это просто вопрос переключения параметров «Настройка» объекта «Проект» «Архитектура» на armv6, или мне нужно сделать что-то другое?

Какие настройки можно использовать, чтобы устройство armv6 всегда использовало armv6, а также чтобы устройство armv7 всегда использовало armv7? Во время тестирования и приложений, которые я выпускаю в магазине приложений.

ответ

4

Чтобы Xcode генерировать двоичный файл, который работает на ARMv6 и ARMv7 устройств, вы должны установить следующие строить параметры:

  • архитектур: $ (VALID_ARCHS)
  • Правильных архитектуры: armv6 armv7 (значение по умолчанию)
  • iOS Цель развертывания: iOS 4.2.1 или ниже

Вы также должны удалить armv7 из необходимых устройств в файле info.plist.

+0

Когда вы говорите «Требуемые возможности устройства», вы имеете в виду правое правое (что никогда не было в моем plist)? Кроме того, если вы не возражаете, какая разница между настройками целевой сборки и настройками сборки проекта? спасибо – Ryan

+1

Да, необходимое устройство доступно в файле info.plist, поэтому вам нечего менять, если он еще не существует. Кроме того, у вас может быть несколько целей в одном проекте (модульные тесты, цели Full/Lite, цели iPad/iPhone). Таким образом, вы можете установить общие настройки в ** настройках проекта ** и целевых конкретных настройках в ** целевых настройках **. – sch

+0

Спасибо, что заработали! Я не знал об этом, и я просто случайно обнаружил, что Xcode добавил это в мой проект info.plist. – MonsieurDart

0

Установите следующие параметры сборки:

  • Valid Architectures: armv6 armv7
  • Architectures: Optimized (armv6 armv7)

Это будет генерировать различные оптимизированные наборы для обеих архитектур.