2011-01-30 3 views
1

私はfolowingフォルダ構造とiOS用XYZ.frameworkパッケージをビルドする必要があり:iOS:複数のライブラリ(xyz.a)でXYZ.frameworkを作成しますか?

LS XYZ.framework

XYZ -> Libraries/libxyz.a 
Headers -> Home/Headers 
Home -> SDKs/Current 
Libraries -> Home/Libraries 
SDKs 

LS XYZ.framework/SDKの

4.2 
Current -> 4.2 

ls XYZ.framework/SDKs/Current

Headers 
Libraries 

1つの.aライブラリファイルで正常に動作します。

しかし、複数の.aライブラリファイルを含めるにはどうすればよいですか?

答えて

3

は0のiOSは、それが最近の変更がでない限り、あなたが

1)依存関係 を含めるためにあなたのフレームワークのプロジェクトを設定)(この時点では、動的LIBSを公開することはできません))に依存して追加しますビルド呼び出し(ターゲット依存関係)とリンクフェーズ

3)フレームワークがシンボルをエクスポートしない、またはファイルをコンパイルしないなどのオブジェクトを作成しない場合は、インライン関数(またはイメージのコンストラクタ/デストラクタ)などのダミーファイルを追加する必要があります。

4)次に静的にリンクして最終イメージを生成します。このステップはすべてのイメージをマージする必要があります。

+0

これはヘッダーを考慮しないことに注意してください。フレームワークでヘッダーを公開する場合は、フレームワークプロジェクトでヘッダーをパブリックヘッダーとして追加します。 – justin

+0

あなたの答えはタンクです。私はXCodeでlibsを構築しません。フレームワークを使用したいと思う誰かが彼のプロジェクト設定で何かを変更する必要がないように、私はbevoreを作成したヘッダーとライブラリを含む.frameworkを作成することをしませんでした。依存関係を追加すると、プロジェクトヘッダパスとライブラリパスを変更する必要があります。 – x2on

+0

xcodeでlibsをビルドしなくても、これらの手順に従ってxcodeの実行スクリプト段階からビルドを引き続き呼び出すことができます。 xcodeは他のツールのフロントエンドとして機能します。したがって、フレームワーク、plistを生成するためのスクリプトを作成し、xcodeが作成するツールチェーンの引数を見て、ビルド引数を正しいものにする必要があります。公衆が最終的にヘッダーをフレームワーク(製品)バンドルにコピーするときに、ヘッダーをプロジェクトに追加します。これはiphoneとしてタグ付けされているため、動的ライブラリをどのように配布するのかまだ分かりません。 (cont) – justin

関連する問題