次の方法で共有


ネイティブ フレームワークのバインド

ネイティブ ライブラリがフレームワークとして配布される場合があります。 Objective Sharpie には、-framework オプションを使用して適切に定義されたフレームワークをバインドするための便利な機能が用意されています。

たとえば、iOS 用 Adobe Creative SDK Framework のバインドは簡単です。

$ sharpie bind \
    -framework ./AdobeCreativeSDKFoundation.framework \
    -sdk iphoneos8.1

場合によっては、フレームワークによって Info.plist が指定され、フレームワークをコンパイルする必要がある SDK が示されます。 この情報が存在し、明示的な -sdk オプションが渡されない場合、Objective Sharpie はその情報をフレームワークの Info.plist (DTSDKName キー、または DTPlatformName キーと DTPlatformVersion キーの組み合わせのいずれか) から推測します。

この -framework オプションでは、明示的なヘッダー ファイルを渡すことができません。 アンブレラ ヘッダー ファイルは、フレームワーク名に基づいて規則によって選ばれます。 アンブレラ ヘッダーが見つからない場合、Objective Sharpie はフレームワークのバインドを試みず、解析する適切なアンブレラ ヘッダー ファイルと clang のフレームワーク引数 (-F フレームワーク検索パス オプションなど) を指定して、バインドを手動で実行する必要があります。

内部的には、-framework の指定は単なるショートカットです。 次のバインド引数は、上記の -framework 短縮形と同じです。 特に重要なのは、clang に提供される -F . フレームワーク検索パスです (コマンドの一部として必要なスペースとピリオドに注意してください)。

$ sharpie bind \
    -sdk iphoneos8.1 \
    ./AdobeCreativeSDKFoundation.framework/Headers/AdobeCreativeSDKFoundation.h \
    -scope AdobeCreativeSDKFoundation.framework/Headers \
    -c -F .