2013-03-03 4 views
5

Скажите, пожалуйста, как я могу создать проект для iOS5 + в моем XCode 4.6, где все строит для iOS6 +Создать проект для iOS5 на XCode 4.6

меняю Deployment Target

enter image description here

И как изменить базовый SDK? Или, может быть, я не могу изменить его?

enter image description here

И что я должен сделать, чтобы моя XCode показать мне предупреждение, если я буду стараться использовать методы, которые могут быть использованы только в IOS 6+?

ответ

6

Сначала вы должны понимать несколько вещей. Цель развертывания - это минимальная версия ОС, поддерживаемая вашим приложением. Если вы установите в iOS 5.0, вы можете убедиться, что это поддержка iOS 5.0 и выше. Base SDK - это SDK, который используется для компиляции вашего приложения. Всегда используйте последнюю версию SDK.

Если вы хотите создать приложение, поддерживающее iOS5.0 и выше, установить цель развертывания как 5.0. Затем используйте последнюю версию SDK. Причина в том, что если вы измените базовый SDK на более низкую версию, ваше приложение может не поддерживать ios6, поскольку некоторые из методов устарели в iOS6. Если вы скомпилируете его с последним SDK, он отобразит предупреждение. Вы можете протестировать свое приложение, установив разные тренажеры, чтобы проверить, работает ли он правильно. В основном вам нужно обращаться с ориентацией вопросов, так как в обоих случаях они разные.

Вы можете использовать условная компиляция. Помните, что не используйте autoLayout и отнесено строк. Что не поддерживает в ios5

+0

Цель развертывания - 5.0 в моем проекте. И как я могу это сделать, XCOde предупредит меня об использовании методов или свойств для iOS 6+. Теперь я пытаюсь добавить для UITextView атрибутText (это свойство только для iOS 6), и XCode не дал мне предупреждения – Neznajka

+0

Это не даст предупреждения, так как он компилирует ваше приложение с помощью SDK 6.0. Это доступно ios6 –

+0

, поэтому мне нужен след для использования методов самостоятельно? И если я использую свойство только для iOS 6, то с помощью устройства на iOS 5 мое приложение будет разбито? – Neznajka

1

Для вашего первого вопроса, насколько я знаю, ios 5 api также будет поддерживаться в более поздних версиях. Вы должны установить свою цель на ios 5.0 (с помощью целевых настроек проекта), чтобы убедиться, что ни один из методов ios6 не используется (иначе ошибка компиляции не позволит вам ее создать).

Для того, чтобы поддерживать новые функции и проверить, если iOS6 доступен на устройстве есть два способа:

  1. во время компиляции (так что вы можете создать свое приложение с более низкими целями и новее вместе) с помощью следующей макро
#if __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_6_0 
// Your ios6 code goes here 
#endif 

2: Во время выполнения: [[[UIDevice currentDevice] systemVersion] floatValue] > 6.0

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