Сборка / тестирование универсального приложения для iPhone / iPad - PullRequest
7 голосов
/ 19 мая 2010

У меня есть проект, настроенный (я думаю) для создания универсальных двоичных файлов. Базовый SDK установлен на 3,2, а цель развертывания установлена ​​на 3,1. Семейство целевых устройств - iPhone / iPad, архитектура - armv6 armv7.

У меня было несколько вопросов о том, как на самом деле работает эта универсальная двоичная вещь:

1) Когда я хочу отправить двоичный файл приложения для проверки, какую конфигурацию я должен установить в качестве цели сборки? Если я установлю его как «Устройство - 3.1», я получу предупреждение, которое говорит "warning: building with Targeted Device Family" that includes iPad('1,2') requires building with the 3.2 or later SDK". Однако если я соберу SDK 3.2, он все равно будет работать на iPhone с ОС 3.1? Какова правильная конфигурация для устройства и архитектуры (arm6 / arm7)?

2) Как проверить приведенный выше сценарий (собранный с SDK 3.2, но установленный на устройстве под управлением ОС 3.1)? Если я собираюсь с SDK 3.2, когда я пытаюсь установить его на телефон с OS 3.1, я получаю сообщение об ошибке, что операционная система телефона не обновляется.

Спасибо!

Ответы [ 2 ]

13 голосов
/ 19 мая 2010

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

Архитектура
Архитектура : Оптимизировано (armv6 armv7)
Базовый SDK : устройство iPhone 3.2
Только для активной архитектуры : не проверено
Действительные архитектуры : (пусто)

Deployment
Семейство целевых устройств : iPhone / iPad
Цель развертывания iPhone OS : iPhone OS 3.0
(Вы можете установить это на любую операционную систему iPhone 3.x, но мы хотели настроить таргетинг на самые старые из возможных устройств. Это должно быть 3.0 или выше, 2.x недопустимо для универсального приложения.)

Убедитесь, что вы также проверили эти настройки для самой цели (Project-> Edit Active Target "AppName"); Мои первоначальные проблемы при загрузке в iTunes Connect были связаны с тем, что Цель развертывания iPhone OS для самой цели по-прежнему была равна 2.2.1.

0 голосов
/ 19 мая 2010

Таким образом, ключ, кажется, в том, что для параметра «Архитектуры» задано значение «Оптимизировано (arm6 arm7)» в дополнение к значению «Действительные архитектуры», установленному на «armv6 armv7».

Это позволяет ему компилироваться с 3.2 SDK и запускаться на iPhone под управлением 3.1

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

Пожалуйста, поправьте меня, если я ошибаюсь.

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