LoginSignup
2
1

More than 5 years have passed since last update.

RubyからXcodeのビルド環境変数を読み込む

Posted at

XcodeからRunScriptを呼ぶ時に、SRCROOTなどのビルド実行時によみこまれる環境変数ってありますよね?

あれをRunScript以外のスクリプトからも読み込みむための方法です。

この投稿のタイトルにはRubyとしていますが、Shellプロセスを起動することの出来るプログラミング言語であれば同じことが出来るはずです。

Xcodeへの環境変数の参照方法

方法はこちらの投稿に記載されている通り。
Xcodeの環境変数 $(PROJECT_DIR)や$(SRCROOT) などを確認する方法

BuildSchemeやBuildConfig別に設定値を変えているなら、それぞれ、-scheme [scheme name]-configuration [configuration name]オプションを指定してあげればそれぞれの設定値を読み込むことが出来ます。

xcodebuild -showBuildSettings -scheme [scheme name] -configuration [configuration name]

ちなみに、BuildSchemeやBuildConfigは以下のコマンドで確認することが出来ます。

xcodebuild -list

Rubyで環境変数を読み込む

Xcodeプロジェクトの開発中、少なからずRunScript以外のスクリプトからもビルド環境変数を参照したい時があると思います。

先程紹介したコマンドをRubyから読み込むことで、ビルド環境変数へアクセスすることが出来るようになります。

# Xcodeプロジェクトのルートディレクトリ(*.xcprojeディレクトリの置いてある場所)
PROJECT_ROOT = File.join("path", "to", "root").freeze

# ビルド環境変数を読み込むコマンド
BUILD_SETTINGS_LOAD_CMD = "xcodebuild -showBuildSettings".freeze

# ビルド環境変数をRubyの環境変数に設定
Dir.chdir PROJECT_ROOT do
  `#{BUILD_SETTINGS_LOAD_CMD}`.split("\n").each do |line|
    k, v = line.split(" = ")
    ENV[k.strip] = v
  end
end
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1