Что означает базовый SDK, цель развертывания iOS, цель и проект в xcode
скажем, я установил базовый SDK на 7, что это значит? Это может означать, что приложение будет работать на iOS 7. Но это то, для чего предназначена цель развертывания iOS.
также почему я указываю эти 3 значения как в проекте, так и в цели. Это не имеет смысла. Зачем указывать одно и то же дважды?
4 ответов:
базовый SDK - это то, на чем вы строите свое приложение (т. е. включаете и библиотечные файлы и фреймворки). Как вы говорите, это не влияет на цель развертывания, за исключением того, что базовый sdk >= цель развертывания.
вы задаете параметры сборки на 2 уровнях, так как каждый проект может иметь несколько целей, и вы не можете использовать одни и те же настройки для всех целей. Параметры уровня проекта переопределяют параметры по умолчанию, а параметры целевого уровня переопределяют параметры уровня проекта настройки.
например, у меня есть проекты с целями OSX и iOS, а некоторые-ARC, а некоторые-MRR. У меня должны быть разные проекты для каждого, если я не смог указать параметры сборки с уровнем детализации, который позволяет Xcode.
на iOS 7 TechTalk, сессия архитектуры современных приложений, часть 2, они объясняют это четко
читать Привет! Я #доступен!
таким образом, современное приложение может использовать iOS 9 в качестве целевого SDK, а iOS 7-в качестве цели развертывания. Это означает, что вы можете работать на iOS 7, iOS 8 и iOS 9, и что у вас есть доступные для вас любые вызовы iOS 9 при фактическом запуске на iOS 9.
Я просто сумму это SDK и цель развертывания
базовый SDK-это SDK, на который вы ссылаетесь. Цель развертывания-это минимально необходимая версия iOS, которую необходимо запустить. Вы можете создать приложение с SDK 7, которое работает под iOS 6. Но тогда вы должны позаботиться о том, чтобы не использовать какую-либо функцию или метод, который недоступен на iOS 6. Если вы это сделаете, ваше приложение рухнет на iOS 6, Как только эта функция используется.
дополнительную информацию см. В документации apple: https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html
приложения Base SDK указывает самая высокая версия iOS, которую поддерживает ваше приложение. Когда ваше приложение работает на устройстве, на котором работает ваше приложение Base SDK, он запускает полный набор функций, доступных в вашем приложении.
приложения Цель Развертывания указывает минимальная версия iOS, которую поддерживает ваше приложение. Итак, ваше приложение Цель Развертывания всегда должно быть установлено меньше или равно его Базовый SDK.
The Base SDK должна быть установлена самая высокая версия ОС, из которой вы хотите использовать API (обычно самая высокая версия, для которой вы разрабатываете, и самая высокая версия, доступная в то время). Элемент Цель Развертывания должно быть установлено на самую низкую версию, на которой должен выполняться ваш код .
Если ваш проект имеет несколько целевых объектов, вы можете установить базовый SDK на уровне проекта, и этот параметр наследуется всеми целевыми объектами. Вы можете также измените базовый SDK для определенной цели на целевом уровне.

Comments