web-dev-qa-db-ja.com

iOSでは、AndroidにGradle Build Flavorsのようなものがありますか?

IOSでは、AndroidにGradle Build Flavorsのようなものがありますか。

基本的に、Applause SDKをアプリに統合したいのですが、そのコードをリリースビルドの一部にしたくありません。 applause sdkを使用して、アプリを内部的に配布し、バグを報告するだけです。

フレーバーのようなものがない場合、これを行うための最良の方法は何ですか。

26
T_C

Xcodeでスキームとビルド構成を利用できます。これが公式のドキュメントです: https://developer.Apple.com/library/ios/recipes/xcode_help-project_editor/Articles/BasingBuildConfigurationsonConfigurationFiles.html

ビルド構成を作成したら、そのビルド構成を使用するようにスキームを編集する必要があります。そのためには、スキームをクリックして、「スキームの編集」を選択します。

enter image description here

つまり、プロセスは次のとおりです。

  1. ビルド構成を作成する
  2. その構成にいくつかのカスタムフラグを設定します。これを行うには、ターゲットに移動し、[ビルド設定]タブを選択して、プリプロセッサマクロを検索します。そこで、カスタムフラグを追加できます。

enter image description here

  1. ビルド構成を使用するには、スキームを編集するか、新しいスキームを作成します。
  2. コードでは、プリプロセッサマクロを使用してフラグを使用できるかどうかを確認する必要があります。

#ifdef APP_STORE //do something #endif

15
lucaslt89

IOSアプリを異なるフレーバーで構築するために使用できるいくつかのアプローチがあります。

リソースファイルの異なるバージョン

  • カスタムビルド変数を使用して、リソースファイルの異なるバージョンを切り替えます。 この記事 は、さまざまなアイコンでアプリを構築する方法について説明します。

  • * .storyboardファイルでリンクされている* .stringsファイルとリソースの場合、最初の項目で提案されている接尾辞のアプローチが機能しませんでした。したがって、パイプラインの初期に Run Scriptbuild phase を追加しました。スクリプトを使用すると、通常のビルドチェーンでファイルを処理する前に、自由に好きなことができます。これは、動的ファイル生成または高度なファイル選択ロジックに最適です。スイッチとして、カスタムビルド変数を(再び)使用できます。

改造コード

  • 推奨されるコンパイラフラグ here を使用します。これらは、プリプロセッサを使用して確認できます。

  • または、(再度)カスタムビルド変数を確認することもできます。それらをアクセス可能にするには、それらをplistファイルのキーとして追加します。

1
h0b0