スクリプト実行フェーズから現在のスキームを取得する方法はありますか?
私は試しまし$(SCHEME_NAME)
たが、存在しません。
使用する環境変数が見つからなかったので、回避策を開発する必要がありました。Build Pre-actionでスキーマ名をディスクに書き込み、 Run Scriptフェーズでそれを読み戻しました。
関心のあるスキームごとに、[スキームの編集] に移動し、次のコードを含むスクリプトを追加します。
rm -rf ${INTERMEDIATES_OUTPUT_DIR}
mkdir -p ${INTERMEDIATES_OUTPUT_DIR}
echo MY_SCHEME_NAME > ${SCHEME_FILE}
次に、ビルド ターゲットの [ビルド設定] に移動し、2 つの [ユーザー定義の設定] を追加します。
INTERMEDIATES_OUTPUT_DIR=${PROJECT_DIR}/build/intermediates/${CONFIGURATION}/
SCHEME_FILE=${INTERMEDIATES_OUTPUT_DIR}current_scheme.txt
「実行スクリプト」を開き、これを追加します。
SCHEME_NAME=`cat ${SCHEME_FILE}`
必ず中間ビルド ディレクトリを .gitignore ファイルに追加してください。
明らかに、ファイル名をハードコーディングすることでこれを少し単純化できますが、これはもう少し堅牢です (中間ディレクトリに配置される他のものもあります)。