Использование API для Mac OS X версии - PullRequest
1 голос
/ 27 февраля 2012

Поскольку я изучаю разработку для OS X и здесь я столкнулся со странной ситуацией, когда мне нужно найти способ построить приложение для цели выше 10.6, а если это 10.7, тогда мне нужно вызвать некоторые недавно добавленные методы или перечисления.Может быть, такого способа нет, но подумал спросить его.

Я думаю, должен быть способ использовать его с помощью макросов или чего-то подобного.Я не хочу создавать специфичные для ОС сборки.Любая помощь будет оценена.Может быть, нет такого способа, но подумал спросить его.

С уважением, M P.

Ответы [ 2 ]

1 голос
/ 27 февраля 2012

Один подход заключается в сравнении NSFoundationVersionNumber с NSFoundationVersionNumber10_* - см. Foundation/NSObjCRuntime.h для доступных версий.

Иногда вы можете попробовать -[NSObject respondsToSelector:].

0 голосов
/ 27 февраля 2012

Вы можете прочитать версию из файла свойств:

  /System/Library/CoreServices/SystemVersion.plist

Таким образом, вы можете создать динамический код без разных версий, используяпонял, что вы не хотите генерировать конкретный код версии. Если вы готовы сделать это, то это довольно просто.Просто используйте:

  #include <Availability.h>
  #ifdef __MAC_10_7
      /* 10.7 only code */
  #else
      /* not 10.7 code */
  #endif
...