Проверка версии iPhone во время выполнения и во время компиляции

В чем разница между проверкой времени выполнения, например, [[UIDevice currentDevice] systemVersion] , и проверкой времени компиляции, например, __ IPHONE_OS_VERSION_MIN_REQUIRED ? Когда лучше использовать одно перед другим?

Является ли __ IPHONE_OS_VERSION_MIN_REQUIRED просто переменной, установленной в настройках сборки?

Я прочитал ответы на Как настроить таргетинг на конкретную версию iPhone? ] и другие связанные вопросы, перечисленные ниже.

Но я только что заметил, что __ IPHONE_OS_VERSION_MIN_REQUIRED = 30200 при сборке и запуске на iPhone (4.3.1) с Xcode 4. Почему?

Когда вы отправляете ваш код в Apple, компилируют ли они его версию для каждой существующей версии iPhone, устанавливая __ IPHONE_OS_VERSION_MIN_REQUIRED соответственно?

Таким образом, вы можете проверить __ IPHONE_OS_VERSION_MIN_REQUIRED [1115 в какой версии iOS работает код.

Вопросы по теме:

8
задан Community 23 May 2017 в 11:52
поделиться