В чем разница между проверкой времени выполнения, например, [[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 работает код.