2011-06-24 12 views
4

私のiOSアプリケーションとスタティックライブラリ(別のプロジェクトですが、アプリのプロジェクトに含まれていますか? )。Xcode 4プロジェクト(ビルド時のアプリとスタティックライブラリ - クリーンライブラリ)

私は静的ライブラリを変更すると、アプリを実行しているときの結果を確認するために、いつでもクリーンアップしてから実行する必要があります。アプリのターゲットを構築する前に静的なlibを自動的に消去する方法はありますか?

+0

私の答えはhttp://stackoverflow.com/questions/1456806/xcode-dependencies-across-different-build-directories/10819487#10819487でご覧ください。 iOSデバイスのトリックを対象にしなくても、再構築の問題を解決するのに役立ちます。 – Orange

答えて

2

スタティックライブラリの.aファイル名は、赤色ののプロジェクト構造になっていますか?

ステップ1:あなたがすでに1 :)

ステップ2を持っていない場合は、プロジェクトのバックアップを行います。私のために働いていたものを試してみてください。

から静的ライブラリ赤.Aノードを削除しますプロジェクトの構造。

これらのノードを削除すると、プロジェクト設定(「ビルド段階>ライブラリとバイナリをライブラリとリンクする」)で確立したアプリとライブラリのリンクが解除されますが、それらをバックアップすることができます後で。

ここで、iOSデバイスをターゲットにすることが重要です(これは魔法のステップです)。

すべての静的ライブラリがiOSデバイス向けに構築されたら、プロジェクト設定を元に戻って、アプリケーションとLibの間のリンクを再設定します(たとえば、「ビルド段階>ライブラリとバイナリをライブラリにリンクする」を参照)。アプリケーションのプロジェクト設定)。

iOSデバイスをターゲットとする静的なライブラリを作成したため、新しく表示される.aノードはプロジェクト構造内で黒く表示されます。

静的ライブラリのソースコードの変更は、メインアプリケーションをクリーンアップまたは変更していない場合でも、メインアプリケーションのビルド(または実行)プロセスによって選択されるようになりました。あなたが私のようで、開発の大部分が静的ライブラリの中にあり、アプリケーションプロジェクトを変更することはめったにない場合、これは大変な頭痛の種です。

「iOSデバイス」をターゲットとしてクリーンアップを実行すると、静的なlibノードが再び赤くなることがあります。これが再び物事を壊すかどうかは分かりません。

ビルドを修正するには、ノードを削除したり、リンケージを解除したりする必要はありません。 iOSデバイスをターゲットにした各ライブラリを構築するだけで十分でしょう。しかし、私はこれについてはわからないので、私はちょうど私のために働いた全体の手順を書いた。

関連する問題