2011-10-22 13 views
4

私はいくつかのAppleフレームワークに依存するスタティックライブラリを持っていますが、それをターゲット依存として含めると、それは依存するフレームワークをアプリケーションプロジェクトに追加する必要があります。依存関係をスタティック・ライブラリ・ターゲットで指定するだけで済むように、プロジェクトを設定する方法はありますか?iOSスタティックライブラリを構築する

答えて

2

可能ですが、実際にはですが、実際にはそうしたくありません。あなたがそれをしたら、あなたが受け入れられるかどうかは分かりません。静的ライブラリは動的ライブラリとリンクしていますが、.mファイルのようにシンボルは含まれていません。これが動的ライブラリの全体像です。

解決策の1つは、xcconfigファイルを使用することです。このシナリオでは

http://developer.apple.com/library/ios/#recipes/xcode_help-project_editor/Articles/BasingBuildConfigurationsonConfigurationFiles.html

あなたは静的ライブラリを伴う共有可能xcconfigファイルを作成します。次に、アプリケーションプロジェクトで、xcconfigファイルをコピーし、そのアプリケーション構成をベースにします。

OTHER_LDFLAGS = $(SHARED_LDFLAGS) -framework AssetsLibrary -framework AudioToolbox ... 
+0

はい、それは多かれ少なかれ私が探していたものです。私は実際に動的ライブラリを静的にリンクすることを意味しませんでした。アプリケーションプロジェクトが手動でそれらをすべて追加する必要はありませんが、この設定ファイルは十分に機能するようです。 – JoeyJ

+0

この質問に続いて、新しい設定ファイル答えに記載されている行だけを追加しました。ビルドしているスタティックライブラリは正常にコンパイルされますが、私の静的ライブラリを使用するアプリケーションプロジェクトでMapKitフレームワークをインポートする必要があります。 –

+0

ライブラリとリンクしても、適切なヘッダファイルをインポートする必要があります。 – logancautrell

関連する問題