2016-04-10 21 views
1

私はiOSの静的ライブラリ(.Aとヘッダファイル)を持って、私はXamarin.iOSXamarin.iOSのバインディングを作成するには?

にこのライブラリをバインドしたい私は、結合工程は、Xamarinサイトhereに言及し、このチュートリアルでは、彼らはのソースコードを使用しましたとしょうかん。しかし、私は.aファイルとヘッダーファイルしか持っていません。

ソースコードなしで静的ライブラリをバインドすることは可能ですか?

+1

ガイドはちょうど '.a'ファイルを構築するためにソースを使用しています。残りはヘッダーとバイナリを使って行われます。客観的なsharpieはヘッダーだけを必要とします。 –

+0

このリンクを読むと、ソースから始めてライブラリを構築してから、そのライブラリをバインドします。そのリンクがあなたに知っておくべきことを教えてくれるので、途中から始めるだけです。 – JimBobBennett

答えて

1

Objective Sharpieとバインドするためのソースコードは必要ありません。必要なのは.aライブラリとヘッダーのみです。

sharpie bind -output Binding -sdk iphoneos8.1 \ 
-scope build/Headers build/Headers/SomeHeader.h \ 
-c -Ibuild/Headers -arch arm64 

目的シャーピーだけ出力二つのファイル:Binding/ApiDefinitions.csBinding/StructsAndEnums.cs

は、ここでの例です。

次に、必要に応じてバインディングを微調整し、再度実行します。

調整が完了したら、これら2つのファイルをXamarin Studioのバインディングプロジェクトに追加するか、最終バインディングを生成するためにtouch(iOS)またはmac(MacOS X)ツールに直接渡すことができます。

1

はいこの対物シャーピーを介して可能である(https://developer.xamarin.com/guides/cross-platform/macios/binding/objective-sharpie/

目的シャーピー品質APIの定義を生成するヘッダファイルを解析するclangを使用します。 Objective Sharpieが解析/生成できないものについては、自分自身を正規化する必要があります。これらの生成されたファイルは、ApiDefinition.csStructsAndEnums.csとして知られています。

これを達成するには、sharpie bindコマンドを使用できます。

https://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/walkthrough/#Using_Objective_Sharpie

あなたはそれぞれのテンプレート/足場を生成したら、その後、(丁重マック​​/ iOSの)お使いのプラットフォーム用のバインディングを生成しますbmac/btouch結合ツーリングにこれらのアイテムを渡すことができます。

それでもトラブルに実行している場合は、高度な例も役立つはずであることをここあります:

https://developer.xamarin.com/guides/cross-platform/macios/binding/objective-sharpie/examples/advanced/

関連する問題