web-dev-qa-db-ja.com

TestFlightビルドをデバッグモードで配布する

productiondevelopmentに別々のデータベースを使用しています- iOSアプリケーション、TestFlightを介してテストしています。問題は、TestFlightがアプリケーションをリリースモードで配布することです。

アプリケーションを開発モードで配布するようにプロジェクトを構成するにはどうすればよいですか?

または、実際にリリースと開発用に異なるビルド識別子を設定してから、TestFlightに2つのアプリケーションを配置する必要がありますか?

通常何が行われていますか?

7
eirikvaa

ソリューションの概要

ビルド設定に値を追加することをお勧めします。実稼働バージョンをビルドする場合にのみ、PRODUCTIONに設定します。

#ifステートメントを使用して、PRODUCTIONが設定されているかどうかを確認するだけです。


私のアプリでは(プッシュ通知にはBatchを使用します)

同じアプリのバージョンが2つあります。 1つは広告付きで無料、もう1つは広告なしで有料です。私は無料版でこのように設定しました:

Active Compilation Conditions Setting

そして、有料版ではこのように:

enter image description here

そして最後に私はそれをコードで使用します=]

    // MARK: Batch.
    #if FREE
        #if DEBUG
            print("Batch FREE - DEBUG mode")
            Batch.start(withAPIKey: "-MY FREE VERSION DEBUG KEY-") // dev
        #elseif RELEASE
            print("Batch FREE - RELEASE mode")
            Batch.start(withAPIKey: "-MY FREE VERSION RELEASE KEY-") // live
        #endif
    #elseif PAID
        #if DEBUG
            print("Batch PAID - DEBUG mode")
            Batch.start(withAPIKey: "-MY PAID VERSION DEBUG KEY-") // dev
        #elseif RELEASE
            print("Batch PAID - RELEASE mode")
            Batch.start(withAPIKey: "-MY PAID VERSION RELEASE KEY-") // live
        #endif
    #endif
    // Register for Push notifications
    BatchPush.registerForRemoteNotifications()

あなたの場合、それは手動によるものになります。

PRODUCTIONActive Compilation Conditionsに設定するのは、本番環境にビルドする場合のみです。次に、次のコードを追加します。

#if PRODUCTION
    // Connect to production database
#else
    // Connect to test database
#endif
2
Yitzchak