2011-12-13 7 views
1

私はアプリケーションAPPとライブラリLIBを持っています。 APPはLIBを使用します。私はLIBの2つのバージョンを持っています.1つは「iOSデバイス」用にコンパイルされ、もう1つはiPhone 5.0 Simulator用にコンパイルされたものです。Xcode4 - 異なるスキームの異なるライブラリ

今、このLIBを自分のAPPプロジェクトに含めたいと思います。 APPスキームをiOSデバイスに設定すると、iOSデバイス用のLIBを使用する必要があります。また、iPhone 5.0 Simulatorスキームと同様に使用する必要があります。

私はAPPスキームを変更するたびに、適切でないLIBライブラリを削除し、適切なLIBライブラリを自分のワークスペースに追加する必要があります。私の意見では、これは非常に迷惑です。

スキーム(iOSデバイス/シミュレータ)または設定(デバッグ/リリース)によって異なるライブラリをリンクする方法はありますか?

答えて

1

あなたが同じライブラリの2バージョンをお持ちの場合は、各アーキテクチャのために、あなたは1つの普遍的なライブラリにそれらを置くために、端末にlipoを使用することができます...

あなたはあなたのプロジェクトに追加することができ
lipo -output "My_Universal_Binary.a" -create "iOS_Binary.a" "Simulator_Binary.a" 

両方のアーキテクチャとそれは正常に動作します。

+0

あなたの答えに感謝します!しかし、私の問題は非常に一般的であり、それを達成するために、私はいくつかのトリックとサードパーティのツールを使う必要があると信じるのは難しいです! Visual Studioでは、設定に応じて異なるライブラリセットをリンクすることができます。私は本当に同じ機能がXCode4にあると信じていますが、それを見つけることはできません。 – majakthecoder

+0

あなたのライブラリを手動でリンクするために「その他のリンカーフラグ」を使用する以外に、あなたは運が悪いと思います。 –

+0

これはあなたのプロジェクトでこの状況を解決する方法ですか?あなたのアプリケーションがあなたのライブラリを使用するとき、あなたは適切なライブラリバージョンをリンクするために '他のリンカフラグ'を使用しますか? – majakthecoder

関連する問題