2012-01-31 13 views
11

iPhoneハードウェアアクセサリのサードパーティベンダからフレームワークが提供されています。だから私はDevice.frameworkのようなフォルダを持っている。そのフォルダの中にバイナリファイルと.hファイルのセットがあります。これをiOSプロジェクトに追加する方法と、その中に含まれるクラスを使用する方法があります。しかし、私は実際にMonoTouchを使用しており、静的ライブラリを使いたいと思っています。iOSの既存のフレームワークから静的ライブラリを作成するには?

フレームワークのすべてのクラスを静的ライブラリで使用できるようにする静的ライブラリを作成する方法はありますか?私のMonoTouchプロジェクトでは、私は静的ライブラリにリンクし、そのフレームワークにアクセスします。

答えて

12

A * .frameworkは、静的ライブラリ、ヘッダー、関連するメタデータを含む単なるパッケージです。 .frameworkをコピーして貼り付け、静的な* .aファイルと関連するヘッダーファイルを抽出します。

MonoTouch btouchツールを使用して、MonoTouchプロジェクトで使用する静的ライブラリをバインドするだけです。ネイティブライブラリをGithubのMonoTouchにバインドする方法の素晴らしい例があります。シミュレータ+デバイスをターゲットにして、単一の* .dllファイルで静的ライブラリを埋め込むことLinkWith属性を使用しての指針と:

また、ここではbtouchリファレンスドキュメントをチェックアウトしてください:

+0

私は答えとしてこの1つを受け入れました。なぜならBindingSampleへのリンクが便利だったからです。あなたの最新のupvote(私の;-)と –

+0

@JWBに答える時間をとってくれた両方の人のおかげで、あなたは今、両方の答えをupvoteするのに十分な評判のポイントを持っています:-) – poupou

7

バイナリファイルの名前をDevice.aに変更します。あなたが言うフレームワークはAppleによって行われないので、静的ライブラリでなければならず、動的ライブラリでなくてはなりません。

プロジェクトがそのライブラリ(Device.a)にリンクしていることを確認してください。

プロジェクトにヘッダーを含め、必要に応じて参照してください。

+3

私はあなたが示唆したように、ファイルの名前を変更しましたし、 'nm filename.a'と私は実際にそこにすべてのクラスを見ることができます。私はそれがすべて一緒にうまく一緒にハングアップすることを確認するための作業作業を行う必要がありますが、それは良い見て。ありがとう –

+0

うわー、私が知らなかったトリビアの便利な部分! – jstedfast

関連する問題