предупреждение: приложения для iPhone должны включать архитектуру armv6 (текущий ARCHS = "armv7") - PullRequest
3 голосов
/ 21 марта 2011

Я хочу ограничить свое универсальное приложение для iPhone4 / iPad, и я установил UIRequiredDeviceCapabilities для включения «armv7», соответственно.В настройках сборки я установил:

"Architectures" = "Optimized (armv7)"

"Valid Architectures" = "armv7"

Но сборки Release и Distribution моего универсального приложения генерируют это предупреждение:

warning: iPhone apps should include an armv6 architecture (current ARCHS = "armv7")

Это даже реальная проблема?Могу ли я безопасно игнорировать предупреждение?Почему моя отладочная сборка не выдает того же предупреждения - конфигурация сборки имеет те же настройки?

Я строю с XCode 3.2.5, 4.2 SDK.

Похож на этот вопрос,но не совсем:

«Предупреждение: приложения iPhone должны включать архитектуру armv6» даже с установленной конфигурацией сборки

Ответы [ 3 ]

2 голосов
/ 27 июля 2011

У меня была такая же проблема.Я установил настройки проекта соответственно, но все еще получал ошибку при сборке версии выпуска.Мне пришлось отредактировать Target settings и обнаружил, что «Build Active Architecture Only» было проверено на конфигурацию выпуска.Снятие отметки разрешило предупреждение.Я надеюсь, что это помогает кому-то.

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

Build Active Architecture только лучше всего использовать только для отладки и симуляторов.

Целевая версия для развертывания iOS определяет необходимые архитектуры. iOS 4.2 и ранее включала поддержку процессоров armv6; поэтому Xcode хочет, чтобы вы строили для этой архитектуры те сборки, которые могут распространяться.

Если вы действительно не хотите код armv6 и понимаете, что магазин приложений отклонит ваше приложение, если оно предназначено для iOS 4.2 или более ранней версии и не имеет armv6, тогда я бы предложил просто изменить настройку «Архитектуры» в цель только для armv7.

0 голосов
/ 21 марта 2011

Вы можете остаться с arm7, только если хотите, но если вы хотите ограничиться iPhone 4 / iPad, это потому, что у вас есть веская причина?Чтобы ограничить устройства, вам нужно использовать UIRequiredDeviceCapabilities в вашем Info.plist, иначе люди с предыдущим iPhone найдут ваше приложение, и оно не будет работать.

PS: Нелегко найти возможности устройства для обоихiPad и iPhone, например, вы можете сказать, что вам нужны устройства с фронтальной камерой, но это будет ограничивать iPhone 4 и iPad 2 (а не iPad 1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...