Поддержка armv6 и armv7 в одном ипе - PullRequest
5 голосов
/ 21 апреля 2011

У меня есть проект XCode, настроенный следующим образом:

  • Формат проекта: XCode 3.1-совместимый
  • Архитектура: Стандартная (armv6 armv7)
  • Базовый SDK:Последняя версия iOS (в настоящее время установлена ​​на iOS 4.2)
  • Сборка только активной архитектуры: UNCHECKED
  • Допустимые архитектуры: armv6 armv7

Мой вопрос: Есть ли в результате двоичный файл (.ipa) имеет 2 исполняемых файла - по одному для каждой архитектуры, или просто несколько разных объектных файлов для каждой архитектуры, или разделение еще более мелкое, чем это?

Просто любопытно.Спасибо.

Ответы [ 2 ]

10 голосов
/ 21 апреля 2011

Из того, что вы описали, ipa должен иметь мультиархитектурный бинарный файл с обоими arm6 и arm7. Вы можете проверить это с помощью команды file в терминале. Внутри вашего комплекта приложений находится исполняемый файл, который будет иметь то же имя, что и приложение: myApp.app / myApp . Ввод:

file myApp.app/myApp

в терминале напечатает то, что в нем содержится, чтобы вы дважды проверили. Следует перечислить 2 архитектуры.

5 голосов
/ 21 апреля 2011

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

Чтобы уточнить: у вас будет два исполняемых файла в одном файле. Логически это один исполняемый файл (оба являются вашим приложением), но одна версия предназначена для одной архитектуры, а другая - для другой архитектуры.

...