productionとdevelopmentに別々のデータベースを使用しています- iOSアプリケーション、TestFlightを介してテストしています。問題は、TestFlightがアプリケーションをリリースモードで配布することです。
アプリケーションを開発モードで配布するようにプロジェクトを構成するにはどうすればよいですか?
または、実際にリリースと開発用に異なるビルド識別子を設定してから、TestFlightに2つのアプリケーションを配置する必要がありますか?
通常何が行われていますか?
ソリューションの概要
ビルド設定に値を追加することをお勧めします。実稼働バージョンをビルドする場合にのみ、PRODUCTION
に設定します。
#if
ステートメントを使用して、PRODUCTION
が設定されているかどうかを確認するだけです。
私のアプリでは(プッシュ通知にはBatchを使用します)
同じアプリのバージョンが2つあります。 1つは広告付きで無料、もう1つは広告なしで有料です。私は無料版でこのように設定しました:
そして、有料版ではこのように:
そして最後に私はそれをコードで使用します=]
// 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()
あなたの場合、それは手動によるものになります。
PRODUCTION
をActive Compilation Conditions
に設定するのは、本番環境にビルドする場合のみです。次に、次のコードを追加します。
#if PRODUCTION
// Connect to production database
#else
// Connect to test database
#endif