Consultez cet article : https://medium.com/@brunolemos/how-to-setup-a-different-firebase-project-for-debug-and-release-environments-157b40512164
Sur Xcode, créez deux répertoires à l'intérieur de votre projet : Debug
et Release
. Mettez chaque GoogleService-Info.plist
à cet endroit.
Sur AppDelegate.m
à l'intérieur de la didFinishLaunchingWithOptions
mettez le code :
Objectif-C
NSString *filePath;
#ifdef DEBUG
NSLog(@"[FIREBASE] Development mode.");
filePath = [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist" inDirectory:@"Debug"];
#else
NSLog(@"[FIREBASE] Production mode.");
filePath = [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist" inDirectory:@"Release"];
#endif
FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:filePath];
[FIRApp configureWithOptions:options];
Swift 4
var filePath:String!
#if DEBUG
print("[FIREBASE] Development mode.")
filePath = Bundle.main.path(forResource: "GoogleService-Info", ofType: "plist", inDirectory: "Debug")
#else
print("[FIREBASE] Production mode.")
filePath = Bundle.main.path(forResource: "GoogleService-Info", ofType: "plist", inDirectory: "Release")
#endif
let options = FirebaseOptions.init(contentsOfFile: filePath)!
FirebaseApp.configure(options: options)
Glisser-déposer les deux Debug
et Release
vers les dossiers Build Phases > Copy Bundle Resources
:
C'est tout :)
3 votes
Vous utilisez deux cibles différentes ? Vous avez alors des fichiers différents (avec le même nom) dans différentes ressources de Copy Bundle (dans les phases de construction).
6 votes
Cet article m'a été utile medium.com/rocket-fuel/ .
0 votes
Cela a parfaitement fonctionné pour moi stackoverflow.com/a/58709334/11537677
1 votes
Documentation Firebase : firebase.google.com/docs/projets/multiprojets