[iOS] User-Definedを利用しDebugとReleaseで定義を分ける

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

DebugとReleaseで呼び出すAPIを切り替えたいと思った事ありませんか?
私はあります!(直近の案件で)

本記事では User-Defined を利用し、
DebugとReleaseで定義を分ける方法をまとめます。

User-Definedの設定

1.User-Definedを追加する

PROJECT か TARGET を選択し、
メニューからEditor > Add Build Setting > Add User-Defined Setting を押下。

01_UserDefined

2.DebugとReleasを定義

PROJECT か TARGET を選択し、Build Setting > User-Defined を表示。
DebugとReleasをそれぞれ定義する。

02_UserDefined

User-Definedを呼び出す

事前準備

Info.plist に下記内容を追加し、定義の取得を簡単に行えるようにします。

03_UserDefined

下記コードで Info.plist から定義を取得。

Objective-C

[[[NSBundle mainBundle] infoDictionary] objectForKey:@"BaseAPI"];

Swift

NSBundle.mainBundle().objectForInfoDictionaryKey("BaseAPI")

Releaseスキームを追加する

Releaseスキームを追加し、定義の切り替えを簡単に行えるようにします。

1.左上のスキームを選択し、「New Scheme」を押下する

04_UserDefined

2.Nameを編集する

05_UserDefined

3.「Edit Scheme」を選択し、Build Configurationを変更する

DebugからReleaseに変更。

06_UserDefined

まとめ

以上の手順で、DebugとReleaseで定義を分ける事ができました!