Objective Sharpie を使ったバインディングの作成

"このセクションでは、Objective-C ライブラリへのバインディングを作成するプロセスを自動化するために使われる Xamarin のコマンド ライン ツールである Objective Sharpie について説明します"

概要

Objective Sharpie は、バインディングの最初のパスをブートストラップするのに役立つコマンド ライン ツールです。 これは、ネイティブ ライブラリのヘッダー ファイルを解析して、パブリック API をバインディング定義にマップ (以前は手動で行われていたプロセス) することで機能します。

Objective Sharpie は Clang を使ってヘッダー ファイルを解析するため、バインディングは可能な限り正確かつ徹底的です。 これにより、高品質のバインディングを生成するのにかかる時間と労力を大幅に削減できます。

重要

Objective Sharpie は、Objective-C (ひいては C) の高度な知識を持つ経験豊富な Xamarin 開発者向けのツールです。 Objective-C ライブラリをバインドする前に、コマンド ラインでネイティブ ライブラリをビルドする方法についての確かな知識 (およびネイティブ ライブラリの動作方法についてよく理解していること) が必要です。

[履歴]

過去 3 年間、Xamarin 社内で Objective Sharpie を進化させ、使ってきました。 Objective Sharpie の威力の証として、iOS 8、Mac OS X 10.10、watchOS 2.0 以降 Xamarin.iOS および Xamarin.Mac に導入された API は、完全に Objective Sharpie でブートストラップされました。 Xamarin は、独自の製品を構築するために社内で Objective Sharpie に大きく依存しています。

ただし、Objective Sharpie は非常に高度なツールであり、Objective-C と C、コマンド ラインでの Clang コンパイラの使用方法、一般にネイティブ ライブラリの結合方法に関する高度な知識が必要です。 このハードルが高いため、GUI ウィザードを使うことは誤った期待を与えると考えられており、結果として、Objective Sharpie は現在コマンド ライン ツールとしてのみ使用できます。