Скажем, я установил базовый SDK на 7, что это значит? Это может означать, что приложение будет работать на iOS 7. Но для этого и предназначена цель развертывания iOS.
Также, почему я указываю эти 3 значения как в проекте, так и в цели. Это не имеет смысла. Зачем указывать одно и то же дважды?
objective-c
xcode4.5
user4951
источник
источник
Ответы:
Базовый SDK - это то, против чего вы строите свое приложение (то есть включаете и библиотечные файлы и фреймворки). Как вы говорите, это не влияет на цель развертывания, за исключением того, что базовая sdk> = цель развертывания.
Вы указываете параметры сборки на 2 уровнях, так как каждый проект может иметь несколько целей, и вам могут не потребоваться одинаковые настройки для всех целей. Настройки уровня проекта переопределяют настройки по умолчанию, а настройки целевого уровня переопределяют настройки уровня проекта.
Например, у меня есть проекты как с OSX, так и с iOS, некоторые из них ARC, а некоторые MRR. Мне бы пришлось иметь разные проекты для каждого, если бы я не мог указать параметры сборки с уровнем детализации, который позволяет Xcode.
источник
В iOS 7 TechTalk , сессия Архитектура современных приложений, часть 2, они объясняют это ясно
Приятного чтения Привет! Я доступен!
Вы можете прочитать больше в моем посте SDK и Deployment Target
источник
Базовый SDK - это SDK, на который вы ссылаетесь. Deployment Target - это минимальная требуемая версия iOS, необходимая для запуска приложения. Вы можете создать приложение с SDK 7, работающим под iOS 6. Но тогда вы должны позаботиться о том, чтобы не использовать какие-либо функции или методы, которые недоступны в iOS 6. Если вы это сделаете, ваше приложение вылетит на iOS 6, как только эта функция используется.
Более подробную информацию смотрите в документации Apple: https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html
источник