Могу ли я создать приложение, работающее на iOS 5.1 и iOS 7, с соответствующим родным внешним видом?

У меня есть приложение, предназначенное в основном для iPad, и я хочу, чтобы пользователи могли по-прежнему использовать свои оригинальные iPad (iOS до 5.1). С другой стороны, мое приложение должно выглядеть как «родное» приложение для iOS 7 при запуске на устройстве с iOS 7.

Когда я выбираю SDKROOT (базовый SDK) в качестве iOS 7 и цель развертывания в качестве 6.0, приложение работает нормально в обеих системах, демонстрируя соответствующий внешний вид. Но так как я хочу, чтобы мое приложение также работало на 5.1, я установил цель развертывания на 5.1 (я скопировал iPhoneOS5.1.sdk в Xcode 5 в соответствии с ответами этот вопрос). Затем приложение работает на 5.1, 6.0 и 7.0, но оно (почти) выглядит как приложение iOS 6 на iOS 7.

Вот что я обнаружил при работе с настройками компилятора (в зависимости от настроек приложение работает на какой версии iOS):

таблица настроек компилятора

Итак, возможно ли это: одно приложение, собственный внешний вид для iOS 5.1, iOS 6 и iOS 7?

Спасибо за любую помощь.


person Dirk    schedule 06.10.2013    source источник


Ответы (1)


Оказалось, что я столкнулся с проблемой установки/настройки, добавив iPhoneOS5.1.sdk в Xcode 5. Когда я обновился до Xcode 5.0.2, я больше не добавлял этот SDK, и теперь я получил то, что просил: я могу установите для Base SDK значение 7.0, а для Deployment Target — значение 5.1, после чего я получу собственный L&F во всех версиях iOS.

Мне просто нужно убедиться, что я не использую функции, представленные позже 5.1, без проверки версии ОС (см. определите, какая-версия-ios-используется-на-устройстве">здесь, чтобы узнать, как проверить версию ОС).

person Dirk    schedule 12.01.2014