SHIBUYA 3%

(元在宅が)渋谷で働くエンジニアの備忘録的memo & 雑記 - ココロはいつもSHIBUYAに在り

Swiftでの環境変数を使ってDebug/Releaseで定数を使い分ける

Objective-Cを少しやってましたが、2016年はSwiftを0から学ぼうと思います。

Objective-Cをやってた1年前はマクロで分岐して、それぞれ定数を宣言してましたが、 Xcodeを使ってうまいことやれば、コードで書く必要がなく定数の値が切り出せるようなので試してみます。

以下、参考にさせていただきました。 qiita.com

www.slideshare.net

環境

Build Settings に User-Definedを追加

  • +を押下で、Add User-Defined Settingを選択 f:id:fukurou31:20160118023722p:plain

  • Build Settingsタブの下のほうにあるUser-Definedに追加されるので使いたいKEY名を入力して、Debug時とRelease時で使う値をそれぞれ設定

今回は適当にWK_API_HOSTというkeyに、それぞれlocalhost-debuglocalhost-releaseと設定。 f:id:fukurou31:20160118024140p:plain

Info.plistにUser-Definedで定義した値を設定

値を${ユーザ定義名}で設定 f:id:fukurou31:20160118024550p:plain

呼び出し方法

let apiHost = NSBundle.mainBundle().objectForInfoDictionaryKey("WKApiHost") as! String
print(apiHost)