私はiOSの静的ライブラリ(.Aとヘッダファイル)を持って、私はXamarin.iOSXamarin.iOSのバインディングを作成するには?
にこのライブラリをバインドしたい私は、結合工程は、Xamarinサイトhereに言及し、このチュートリアルでは、彼らはのソースコードを使用しましたとしょうかん。しかし、私は.a
ファイルとヘッダーファイルしか持っていません。
ソースコードなしで静的ライブラリをバインドすることは可能ですか?
私はiOSの静的ライブラリ(.Aとヘッダファイル)を持って、私はXamarin.iOSXamarin.iOSのバインディングを作成するには?
にこのライブラリをバインドしたい私は、結合工程は、Xamarinサイトhereに言及し、このチュートリアルでは、彼らはのソースコードを使用しましたとしょうかん。しかし、私は.a
ファイルとヘッダーファイルしか持っていません。
ソースコードなしで静的ライブラリをバインドすることは可能ですか?
Objective Sharpieとバインドするためのソースコードは必要ありません。必要なのは.a
ライブラリとヘッダーのみです。
sharpie bind -output Binding -sdk iphoneos8.1 \
-scope build/Headers build/Headers/SomeHeader.h \
-c -Ibuild/Headers -arch arm64
目的シャーピーだけ出力二つのファイル:Binding/ApiDefinitions.cs
とBinding/StructsAndEnums.cs
は、ここでの例です。
次に、必要に応じてバインディングを微調整し、再度実行します。
調整が完了したら、これら2つのファイルをXamarin Studioのバインディングプロジェクトに追加するか、最終バインディングを生成するためにtouch
(iOS)またはmac
(MacOS X)ツールに直接渡すことができます。
はいこの対物シャーピーを介して可能である(https://developer.xamarin.com/guides/cross-platform/macios/binding/objective-sharpie/)
目的シャーピー品質APIの定義を生成するヘッダファイルを解析するclang
を使用します。 Objective Sharpieが解析/生成できないものについては、自分自身を正規化する必要があります。これらの生成されたファイルは、ApiDefinition.cs
とStructsAndEnums.cs
として知られています。
これを達成するには、sharpie bind
コマンドを使用できます。
あなたはそれぞれのテンプレート/足場を生成したら、その後、(丁重マック/ iOSの)お使いのプラットフォーム用のバインディングを生成しますbmac
/btouch
結合ツーリングにこれらのアイテムを渡すことができます。
それでもトラブルに実行している場合は、高度な例も役立つはずであることをここあります:
ガイドはちょうど '.a'ファイルを構築するためにソースを使用しています。残りはヘッダーとバイナリを使って行われます。客観的なsharpieはヘッダーだけを必要とします。 –
このリンクを読むと、ソースから始めてライブラリを構築してから、そのライブラリをバインドします。そのリンクがあなたに知っておくべきことを教えてくれるので、途中から始めるだけです。 – JimBobBennett