LoginSignup
18
22

More than 5 years have passed since last update.

【iOS】テスト環境と本番環境

Posted at

iOS開発での「テスト環境版」と「本番環境版」を作る

PROJECTとTARGETS

プロジェクトを作成するとPROJECTとTARGETSというプロジェクトに関わる設定ファイルが作られている。
大まかな内容として、
「PROJECT」プロジェクトの全体設定
「TARGETS」成果物に対する個別設定
*Targetとはビルドした結果得られる成果物のこと
*PROJECTもTARGETSも「project.pbxproj」ファイルを参照している

image.png

環境を分けるためにTargetは増やさないべき

Targetを増やすことによって各ターゲットの設定が完全に同じにできていなく、それぞれエラーが出たり出なかったりする可能性があるため、環境の管理をTargetにするべきではない。

Targetを増やすべきケース

「有料版」「無料版」などで成果物を分ける場合

Targetを増やさないべきケース

「開発環境版」「結合環境版」「本番環境版」などリクエスト先が異なる場合

「開発環境版」「本番環境版」などを管理するには

Build SchemeConfigurationで管理する

手順1. Configurationを追加する

(1-1) PROJECT => Info => Configurations(下図)
(1-2) 「+」をタップ
(1-3) Duplicateする(ここではDebugをDuplicateし「Staging」と設定)

image.png

手順2. Schemeを追加する

(2-1) Schemeをタップ(下図)

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f35393031352f62306537343139612d363963642d383136322d653933352d6532616131313463316335632e706e67.png

(2-2)New Scheme...を選択(下図)

newScheme.png

(2-3)Scheme名を決める

image.png

手順3. Schemeの設定を変更する

(3-1)Schemeをタップし、Edit Scheme...をタップ

editScheme.png

(3-2)Run項目のBuild Configurationを手順1で追加したConfigurationに変更する

editSchemeRun.png

手順4. Active Compilation Conditionsに追加する(ここでは「Staging」)

activeCompilationCondition.png

手順5. Preprocessor Macrosに追加する(ここでは「STAGING=1」)

preprocesorMacros.png

手順6. サンプルコード

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var webView: UIWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        #if DEBUG
            guard let url = URL(string: "https://www.yahoo.co.jp/") else { return }
            webView.loadRequest(URLRequest(url: url))
        #elseif STAGING
            guard let url = URL(string: "https://www.apple.com/jp/") else { return }
            webView.loadRequest(URLRequest(url: url))
        #endif

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

}

実行

元からあるSchemeでビルドした場合

image.png
image.png

追加したSchemeでビルドした場合

image.png

image.png

18
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
22