Как включить вызовы методов, присутствующих только в одной версии операционной системы, при компиляции нескольких версий? - PullRequest
0 голосов
/ 18 июня 2009

У меня есть приложение, которое компилируется с минимальным системным требованием Tiger (OS X 10.4), но мне нужно включить некоторый код для работы с Spaces, если приложение выполняется на Leopard (OS X 10.5).

Как мне это сделать?

(Мне нужно позвонить на -[NSWindow setCollectionBehavior:]).

1 Ответ

3 голосов
/ 18 июня 2009
  1. Установите базовый SDK (для всех конфигураций создаваемой цели) на версию ОС, которая включает вызов.
  2. Установите версию развертывания для самой ранней ОС, для которой вы хотите, чтобы ваш код запускался.
  3. Для всех вызовов, которые не существуют в более ранних версиях ОС, вы должны проверить перед вызовом, либо с помощью responsedsToSelector: (для методов), либо с проверкой на ноль (для функций и статики). Вы можете, если хотите, проверить версию ОС, но более надежно проверить конкретный вызов.

В руководстве по программированию кросс-разработки подробно описываются методы.

...