2010-05-19 3 views
7

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

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

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, когда я пытаюсь установить его на телефоне с ОС 3.1, я получаю сообщение о том, что ОС телефона не обновляется.

Спасибо!

ответ

13

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

Архитектуры
Архитектуры: Оптимизированный (ARMv6 ARMv7)
Base SDK: Устройство iPhone 3.2
Только встроенная активная архитектура: непроверено
Допустимые Архитектуры: (пусто)

развертывания
Targeted Device Family: iPhone/IPad
iPhone OS Deployment Target: iPhone OS 3.0
(вы можете установить на любой iPhone 3. x OS, но мы хотели настроить таргетинг на самые старые устройства. Это должно быть 3,0 или выше, 2.x недействительно для универсального приложения.)

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

+0

Спасибо, что я искал, вы установили базовый SDK в 3.0? – Leg10n

+0

Нет, базовый SDK равен 3,2, а для цели развертывания iPhone - 3,0 (или выше).Это то, что мы сделали для нашего первого универсального приложения. – hjd

+1

note - для запуска приложения в симуляторе установите для активного SDK значение от 3.0 до 3.1.3 и выберите «Выполнить»> «Выполнить» – jrtc27

0

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

Это позволяет компилировать с 3.2 SDK и запустить на iPhone работает 3,1

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

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

Смежные вопросы