今回エンジニアブログを担当する戸田です。
前回に引き続き、今回も「TestFlight」について書いて行きたいと思います。
今回は「TestFlight SDK」を利用した際、AppleStoreへのRelease用ビルド設定に「TestFlight SDK」を含めない方法を紹介します。また、この方法は他のライブラリに対しても使用することができます。
それでは、説明していきます。
早速ですが、「TesTFlight SDK」の組み込みを行ったプロジェクトを用意します。今回は、「TestFilght SDK」の組み込み方法は割愛させて頂きます。
それでは、まずRelease用ビルド設定から「TesTFlight SDK」のリンクを外します。
※Release用ビルド設定の「Link Binary With Libraries」内に「libTestFlight.a」が設定されていない場合は不要です。
- 「Project navigater」を選択し、プロジェクトファイルを選択します。
- 「TARGETS」を選択、「Build Phases」タブを選択します。
- 「Link Binary With Libraries」内の「libTestFlight.a」を選択して、「-」ボタンを選択する又は、キーボードの「delete」キーから削除します
次にAdHoc用ビルド設定をRelease用ビルド設定からコピーします。
- 「Project navigater」を選択し、プロジェクトファイルを選択します。
- 「PROJECT」を選択、「Info」タブを選択します。
- 「Configurations」内の「+」を選択して、「Duplicate ”Release” Configuration」を選択し「AdHoc」に名称を変更します。
次にAdHoc用ビルド設定に「TesTFlight SDK」のリンクを設定します。
- 「Project navigater」を選択し、プロジェクトファイルを選択します。
- 「PROJECT」を選択、「Build Setting」タブを選択します。
- 「Linking」の「Other Linker Flags」内にある「AdHoc」に、以下の内容を追加します。
- -lTestFlight :「libTestFlight.a」を追加
- -lz : 「libz.dylib」を追加
最後にソースコード側で、#ifを利用してコードを分岐出来るようにマクロ定義をします。
- 「Project navigater」を選択し、プロジェクトファイルを選択します。
- 「PROJECT」を選択、「Build Setting」タブを選択します。
- 「Apple LLVM compiler x.x - Preprocessing」の「Preprocessor Macros」内にある「AdHoc」に、マクロを定義します。
マクロ定義の例:TEST_FLIGHT=1
以上で設定が完了になります。使用の際は、「Managing Schemes」の各Scheme内にある、「Archive」の「Build Configuration」の設定を切り替えて使用します。
今回の設定により、Release用のビルド設定には「TestFlight SDK」が含まれず、AdHoc用のビルド設定には「TestFlight SDK」が含まれるようになります。