3

さまざまな iOS バージョンで使用されるライブラリを開発しています。ただし、一部の方法は最新バージョンの iOS (iOS 7 など) でのみ正しく機能します。

サードパーティのライブラリでこのようなメソッドをマークする標準的な方法はありますか?

Availability.hのマクロを使用する必要があります__OSX_AVAILABLE_STARTINGか、それとも Apple メソッドのみに残すのが最善ですか?

4

1 に答える 1

1

clang のみが必要な場合は、availability 属性の使用を検討してください。

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 は少し古く、組み込むのが面倒 ( #ifdefs の山) であることがわかりましたが、属性は可用性を表現するためのよりモダンで洗練された方法です。

于 2013-10-02T18:47:47.817 に答える