2011-06-29 11 views
5

iOSの建物を自動化するためのスクリプトを書いています。これは、ターミナル経由またはビルド自動化ソフトウェアからXcodeの外部で実行されます。スクリプト内のXcode環境変数にアクセスする方法はありますか?それで、自分で試してみる必要はありませんか?外部スクリプトからXcode環境(およびビルド)変数にどのようにアクセスしますか?

たとえば、現在のディレクトリにあり、pwdを実行していると仮定するのではなく、PROJECT_DIRにアクセスできますか?

私は現在、異なるビルド構成の製品名をハードコードしています。 (私はビルド設定をハードコーディングしていますが、xcodebuild -listからそれらを解析することもできます)ビルド設定名を知っていればアプリを入手する方法はありますか?

(私はこのrelated questionを見ましたが、それは私のための答えを持っていません。)

+0

env変数を取得するのにDtraceを使用することは可能でしょうか?しかし、これだけ見つかった場合は、http://opensolaris.org/jive/thread.jspa?threadID=954 –

+0

なぜ異なる設定で製品名が異なりますか?それらは異なる*ターゲット*ではいけませんか?ほとんどのプロジェクトには、Debug、Release、およびDistribution/AppStore/AdHocがあります。通常、MyAppというターゲットの場合、混乱を避けるために出力をMyApp.appにします。私たちのビルドシステムはきれいなチェックアウト/ビルドを行うので、実際には出力ディレクトリに.appが1つだけ存在するはずです(しかし、いくつかの場所でビルド/ AppStore-iphoneosなどの出力ディレクトリをハードコードします)。 –

答えて

10

Xcodeの環境変数のみxcodebuildコマンドラインツールの子プロセスのために定義されています。

私が使用した解決策の1つは、ビルドプロセスの一部として非常に単純なスクリプトを使用することです(プロジェクト - >新規ビルドフェーズ - >実行スクリプトビルドフェーズの追加)。このスクリプトはすべて、必要な変数をエクスポートし、どこかのパスにスクリプトを呼び出します。

このスクリプトは、xcodebuildとvoilà!を呼び出す前に、ビルドスクリプトで生成することができます。 Xcodeビルド変数にアクセスできる外部スクリプトがあります。

関連する問題