17

「モバイルまたはデスクトップアプリへの埋め込みに適した軽量のApacheCouchDB互換データベースエンジン」であるTouchDBをダウンロードしました。これにより、多数の.frameworkフォルダー(CouchCocoa.framework、TouchDB.framework、およびTouchDBListener.framework)が提供されます。

Obj-CライブラリをMonoTouchにバインドする方法についての記事を読んでいます。これは、をバインドする方法を.a示していますが、をバインドする方法は示していません.framework

これらのバインディングを作成するにはどうすればよい.frameworkですか?または、それらを使用する前に、どういうわけか.aこれらを作成する必要.frameworkがありますか(それが可能である場合でも)?

- 編集 -

関連:https ://bitbucket.org/LouisBoux/touchdb-monotouchbinding

4

2 に答える 2

27

MonoTouchで.frameworkをバインドするには、いくつかの手順が必要です。.frameworkは、通常、ライブラリパッケージのすべての部分(ヘッダーファイル、リソース、ライブラリファイルなど)を格納するディレクトリです。.frameworkをバインドするために必要な一般的な手順は次のとおりです。

  • 通常のライブラリファイル(libXXX.a)の場合と同じようにバインディングプロジェクトを作成します

  • .frameworkで同等のライブラリは、.frameworkディレクトリのルートにある拡張子のないファイルです。たとえば、最近RDPDFKit.frameworkのバインディングを作成しました。最上位のファイルは、RDPDFKit(拡張子なし)という名前のファイルでした。名前を変更します。これを「libRDPDFKit.a」にコピーし、バインディングプロジェクトにコピーして、プロジェクトに追加します。サポートされているプラ​​ットフォーム(x86、arm6など)でコードビハインドファイルを作成します。このためのすべてのドキュメントは、XamarinのWebサイトにあります。

  • 通常のライブラリの場合と同じようにバインディングを定義します。

  • フレームワークに.bundleがある場合は、これをプログラムプロジェクト(バインディングプロジェクトではなく)にコピーします。プログラムのリソースとして追加する必要があります。このディレクトリをプロジェクトとその下のすべてのアイテムに追加します。これは、monotouchのリソースがDLLでサポートされていないためです。

  • 結果のモノタッチバインディングDLLには、後でリンクするための.aファイル全体が含まれるため、.dllのビルド後に.aファイルは必要ありません。

于 2012-10-25T13:48:10.687 に答える
3

.frameworkファイルと同じように使用.aできます。たとえば、MonoTouchが(monotouch.dllで)提供するすべてのバインディングは.frameworkファイルから作成されます。

于 2012-05-14T15:55:08.950 に答える