4

さまざまな構成に対していくつかのビルド設定を行いました。

ビルド設定例えば

次のように、さまざまなファイル(info.plistなど)でそれらにアクセスできます。

${MYTESTSETTING}

ただし、コマンドライン環境で値を取得することは可能ですか?たとえば、Jenkinsからのxcodebuildの後

私が試してみました

echo ${MYTESTSETTING}

echo $MYTESTSETTING
4

1 に答える 1

14
xcodebuild -showBuildSettings

ユーザー定義設定を含むすべてのビルド設定を表示します。例:

$ xcodebuild -configuration Debug -showBuildSettings | grep MYTESTSETTING
    MYTESTSETTING = DebugValue
$ xcodebuild -configuration Release -showBuildSettings | grep MYTESTSETTING
    MYTESTSETTING = ReleaseValue

これらの変数を現在のシェルの環境に取り込むには、この出力を解析する必要があります。これは、たとえば、Perlスクリプト(または他の多くのスクリプト言語)を使用して実行できます。

次の内容でPerlスクリプト「exportsettings.pl」を作成します。

#!/usr/bin/perl
open(FH, "xcodebuild -configuration Release -showBuildSettings|");
while(<FH>) {
    if (/\s*(\w+)\s*=\s*(.*)$/) { # Search for <key> = <value>
        $key = $1; $value = $2;
        print "export $key='$value'\n";
    }
}
close(FH);

これで、コマンドを実行できます

$ eval `perl exportsettings.pl`

コマンドラインから、そして(ほとんど)すべてのビルド設定が環境にあります。(「UID:読み取り専用変数」などのエラーメッセージが表示されます)。

環境で使用済みの定義済み設定のみが必要な場合は、一意のプレフィックス( "MY"など)を使用して行を変更できます

    if (/\s*(\w+)\s*=\s*(.*)$/) { # Search for <key> = <value>

    if (/\s*(MY\w+)\s*=\s*(.*)$/) { # Search for MY<key> = <value>
于 2012-12-11T19:55:02.943 に答える