Нужно ли нам компилировать iOS-приложение как для armv7, так и для arm64, если моя цель развертывания — 8.0?

Мое приложение поддерживает iOS8.0 и выше. И я знаю, что начиная с iOS7 его архитектура arm64 бит. В таком случае нужно ли нам компилировать бинарник как для слайсов «armv7», так и для слайсов «arm64»?

Если я компилирую только для arm64, я могу уменьшить размер своего приложения. Это правильный путь?

Пожалуйста помоги.


person arango_86    schedule 25.02.2016    source источник


Ответы (3)


Здесь вы можете найти очень простое объяснение всех архитектур процессоров iPhone и Mac.

Мне очень помогло, когда я решил удалить архитектуру armv7 из списка поддерживаемых архитектур:

Тщательно выбирайте при исключении архитектур. Приложение, созданное с помощью armv7, будет работать на всех современных устройствах iOS, даже на тех, которые поддерживают более новые архитектуры (оно будет работать как 32-разрядное на iPhone 5S и более поздних версиях). Но, с другой стороны, приложение, созданное без armv7, не будет работать на старых устройствах, таких как iPhone 4/4S или оригинальный iPad mini.

person Vitaliy A    schedule 24.06.2018

Насколько я понимаю из документов Apple, размер приложения будет уменьшаться, когда вы скомпилируете его для конкретной архитектуры, и это правильный способ сделать это.

Документы Apple:

Нацельтесь на меньшее количество ЦП

По умолчанию проекты Xcode настроены на создание оптимизированных копий вашего приложения в «фрагментах» вашего исполняемого файла, зависящих от ЦП. Разное оборудование будет запускать разные части исполняемого файла. Это обеспечивает мощную оптимизацию, которая возможна только на некоторых устройствах. Однако это может существенно увеличить размер исполняемого файла вашего приложения.

Чтобы настроить таргетинг только на определенные ЦП, измените параметр сборки Архитектуры со Стандартного $(ARCHS_STANDARD) на список имен конкретных ЦП, которые вы хотите поддерживать. Допустимые имена ЦП перечислены в параметре сборки Допустимые архитектуры (VALID_ARCHS). Не изменяйте параметр Допустимые архитектуры. Он рудиментарный и лучше всего управляется Xcode.

Для получения дополнительной информации см. эту

person Nilesh Patel    schedule 25.02.2016

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

Вам нужно создать приложение для обоих этих

person Sabby    schedule 25.02.2016
comment
Это просто показывает, что требуется 64-битный код. Это не показывает, что также требуется 32-битный код. - person Peter Cordes; 26.02.2016
comment
Пожалуйста, посмотрите последнюю строку, которую вы должны построить как для 32-битной, так и для 64-битной версии. - person Sabby; 26.02.2016
comment
Это просто говорит о том, что рекомендуется использовать стандартную настройку архитектуры, чтобы обеспечить поддержку 64-разрядных систем. - person shim; 08.11.2019