さまざまな iOS バージョンで使用されるライブラリを開発しています。ただし、一部の方法は最新バージョンの iOS (iOS 7 など) でのみ正しく機能します。
サードパーティのライブラリでこのようなメソッドをマークする標準的な方法はありますか?
Availability.hのマクロを使用する必要があります__OSX_AVAILABLE_STARTING
か、それとも Apple メソッドのみに残すのが最善ですか?
さまざまな iOS バージョンで使用されるライブラリを開発しています。ただし、一部の方法は最新バージョンの iOS (iOS 7 など) でのみ正しく機能します。
サードパーティのライブラリでこのようなメソッドをマークする標準的な方法はありますか?
Availability.hのマクロを使用する必要があります__OSX_AVAILABLE_STARTING
か、それとも Apple メソッドのみに残すのが最善ですか?
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 は少し古く、組み込むのが面倒 ( #ifdef
s の山) であることがわかりましたが、属性は可用性を表現するためのよりモダンで洗練された方法です。