Если ваша программа не требует OpenGLES 2.0 (которая поддерживается только на поддерживающих armv7 устройствах), вы должны скомпилировать двоичный файл стандартного жира (armv6/armv7). Жирный бинарный файл представляет собой в основном два (или более) бинарника Mach-O, склеенных вместе, с одной главной страницей в начале. Затраты на производительность незначительны: динамический загрузчик должен выполнить дополнительную ошибку страницы для страницы заголовка, чтобы определить, какую архитектуру загружать.
Построение для armv7 будет по существу вдвое уменьшать размер вашего исполняемого файла, хотя маловероятно, чтобы ваш исполняемый файл был настолько большим, чтобы начать с него. Вы можете использовать команды «размер» и «otool» на хосте, чтобы получить дополнительную информацию о различных разделах в двоичном файле вашего приложения, например. «size -arch armv6 build/Release/MyApp.app/MyApp» получит размер различных разделов в версии двоичного файла armv6, «size -arch armv7 build/Release/MyApp.app/MyApp» получит размер различные разделы в версии armv7 двоичного кода, и, очевидно, «ls -l build/Release/MyApp.app/MyApp» получит фактический размер файла двоичного файла.
из текущего состава, какие устройства не являются armv7? – coneybeare
Возможно iPhone, iPhone 3G, iPod Touch 1st и 2nd gen. –
@Alex Для людей, у которых есть iPhone 3G, что происходит, когда приложение находится в магазине приложений? Они не могут загрузить приложение или приложение рушится, когда они запускают его? – CedricSoubrie