2011-10-19 7 views
0

シンボルが存在するかどうかを検出する一般的な方法はありますか? iOS5のCGPathCreateCopyByStrokingPath()のように、iOS5以降でのみ利用可能です。 iOS 4デバイスでこのルーチンを使用してアプリケーションをコンパイルして実行すると、ランタイムエラーが発生します。存在するシンボルが存在するかどうかを検出するにはどうすればよいですか?

Objective-Cでは、+クラスおよびその他のユーティリティAPIを使用して、いくつかのクラスまたはセレクタの存在を判断できます.Dyld-edシンボルでこれを行うAPIはありますか?

または、AppStore指向アプリケーション用にdyld関数を使用するAppleの許可を受けていますか?

答えて

3

関数の可用性をチェックするには、そのアドレスをNULLまたはnilと明示的に比較します。

if (CGPathCreateCopyByStrokingPath != NULL) { 
    // it exists 
} 

ここにはApple's documentation on the matter(リスト3-2)があります。

+0

ありがとうございます。これは本当に役に立ちます。 – ZhangChn

関連する問題