🍵
Swift でアプリのリリース時だけ設定値を変える
何番煎じか分からない小ネタの備忘録です。
経緯
Admob の広告を表示する際には【広告ユニット ID】を設定する事になるかと思います。
広告ユニットIDを開発中に利用するのはダメなので、デモ用のIDを利用する事になりますが、
リリース直前だけパラメータを変えるのは面倒なので、勝手に置き換えるようにしたくなりますね。
対応方法
Xcode Project の Build Setting で Active compilation conditions の設定を利用します。デフォルトでは下記のようになっているかと思います。
上記の設定の場合は Swift のコード上で下記のように条件分岐させれば良いようです。
adview.swift
#if DEBUG
static let id = "demo-adunit-id"
#else
static let id = "release-adunit-id"
#endif
私はアプリのリリース時のみ変えるということを明示的にしたいので、下記のように設定しています。
adview.swift
#if RELEASE
static let id = "release-adunit-id"
#else
static let id = "demo-adunit-id"
#endif
こういう設定は環境変数で使い分けをしたいのですが、ビルド時にスクリプト実行するなど面倒なことしないといけないので、この方法を使ってます。
Discussion