2011-06-28 11 views
4

Xcode 4が私の前処理を確実に実行するようには思えません。私はきれいにして再構築しようとしました。それは一貫してそれを行うようではありません。それも試していますか?私は言うことができません。私はそれにエコーを入れました(それはbashスクリプトです)。何も起こっていません。これはすべてXcode 3で機能しました。Xcode 4でプレアクションを実行させるにはどうすればよいですか?

答えて

1

前処理ではenv変数が選択されません。ビルドが開始されたことを主にロードまたは通知することを目的としています。 Xcode 3で動作していた場合は、プレアクションよりもビルドスクリプトとして使いたい場合があります。

+1

また、プレアクションが現在ビルドしているスキームに接続されていることを確認してください。スキームの変更を見逃してしまい、プロジェクトを再オープンしたときに私の変更が気付きました。 – theMikeSwan

+0

ありがとうございます。だから私はプロジェクトの外部にシェルスクリプトを作成し、コンパイルする前に手動で実行しました。それは私のプロジェクトのために働いていましたが、理想より少し劣っていました。再度、感謝します。 – 010110110101

+0

これは4.1で修正されましたが、まだテストしていないことを読みました。 – Richard

5

"実行スクリプト"をビルドフェーズに追加してから、コンパイルソースビルドフェーズの上にドラッグします。

「プレアクション」の目的はまだわかりませんが、実行されていないようです。しかし、私の場合は、ソースがコンパイルされる前にスクリプトを実行するだけでした。

+1

ビルド前のアクションは、ターゲットが構築される前に実行されます。スクリプトの実行は、特定のターゲットが構築されているときに実行されます。これは、ビルドの依存関係によってスクリプトを早期に実行できないようなシナリオで役立ちます。 – Alej

+3

これはあなたが期待する効果がないと私は信じています。ビルドログを見ると、plistファイルは実行スクリプトの前にすべて処理されていても処理されます。したがって、スクリプトからplistを変更した場合(例えば、ビルド番号を打つなど)、plistがコピーされた後に起こります。 – Dan

+0

依存関係ライブラリをいくつかの変数をフラグなどのようにビルドする必要がある場合はどうすればいいですか?実行スクリプトを使用するとターゲット依存関係の前に実行できません –

16

ビルド前のアクションは、プロジェクトのソースディレクトリでは実行されません。それらはLibrary/Developer/XCode/DerivedData/のどこかで実行されます。

コンパイルする前にプロジェクトのソースディレクトリにあるファイルを再生する場合は、${PROJECT_DIR}/を前に付ける必要があります。

関連する問題