2013-10-02 3 views
3

Я разрабатываю библиотеку, которая будет использоваться в различных версиях iOS. Однако некоторые методы будут корректно работать только в самых последних версиях iOS (например, iOS 7).Способ маркировки

Есть ли стандартный способ отмечать подобные методы в сторонних библиотеках?

Должен ли я использовать макрос __OSX_AVAILABLE_STARTING доступности.h, или это лучше всего оставить только для методов Apple?

ответ

1

Если вам нужно звенеть только, вы можете рассмотреть возможность использования атрибута доступности:

void f(void) __attribute__((availability(macosx,introduced=10.4,deprecated=10.6,obsoleted=10.7)));

http://clang.llvm.org/docs/LanguageExtensions.html#availability-attribute

Я нашел API, доступность являются своего рода старых и хлопотно, чтобы включить (кучу #ifdef), тогда как атрибут является более современным и утонченным способом выражения доступности.

Смежные вопросы