Как включить вызовы методов, присутствующих только в одной версии операционной системы, при компиляции нескольких версий?
-
06-07-2019 - |
Вопрос
У меня есть приложение, которое компилируется с минимальным системным требованием Tiger (OS X 10.4), но мне нужно включить некоторый код для работы с Spaces, если приложение выполняется на Leopard (OS X 10.5). р>
Как мне это сделать?
(Мне нужно позвонить в - [NSWindow setCollectionBehavior:]
).
Решение
<Ол>
Установите базовый SDK (для всех конфигураций создаваемой цели) на версию ОС, которая включает вызов.
Установите версию развертывания на самую раннюю ОС, на которой вы хотите, чтобы ваш код запускался.
Для всех вызовов, которые не существуют в более ранних версиях ОС, вы должны проверить перед вызовом, либо с помощью responsedsToSelector: (для методов), либо с проверкой на ноль (для функций и статики). Вы можете, если хотите, проверить версию ОС, но более надежно проверить конкретный вызов.
Ол>
В перекрестном руководстве по программированию описаны методы в деталях.
Не связан с StackOverflow