iOS扩展 – 致命exception:com.firebase.core默认的应用程序已被configuration
iOS扩展 – 致命exception:com.firebase.core默认的应用程序已被configuration。
我在viewDidLoad()方法中运行Fir.configure(),一些事件传递给Firebase。
有人可以帮我解决这个问题..谷歌不够友好。
PS:是的,我在Firebase控制台中创build了第二个.plist和第二个应用程序。 PPS:是的,我为每个GoogleServices plistselect了正确的目标
我正在寻求解决scheme..
我不知道你是否还在寻找一个解决scheme,但我有同样的问题,使用扩展名的Firebase。
我结束了这样做:
if(FIRApp.defaultApp() == nil){ FIRApp.configure() }
这将检查应用程序是否已经configuration,以便没有崩溃。
答案是例外。 你正在configuration应用两次。 你有几个select来解决这个问题:
1)在您的应用程序委托中configuration您的应用程序一次。
2)将configuration与取消configuration相匹配。 在FIRApp上有一个方法可以让你取消configuration(实际的名字让我感到失望)。
我也在今天的扩展代码中得到了这个问题。 我解决了如果您的Firebase实例已经configuration,
// define in your constants or somewhere NSString* const UNIQUE_FIREBASE_INSTANCE_IDENTIFIER_WIDGET = @"Widget_FirebaseAppInstance"; if([FIRApp appNamed:UNIQUE_FIREBASE_INSTANCE_IDENTIFIER_WIDGET] == nil) // there should be only one app instance! { NSString *resourceName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"FirebaseResource"]; NSString *filePath = [[NSBundle mainBundle] pathForResource:resourceName ofType:@"plist"]; FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:filePath]; [FIRApp configureWithName:UNIQUE_FIREBASE_INSTANCE_IDENTIFIER_WIDGET options:options]; }
在你的主应用程序中,你也应该使用不同的唯一名称。 所以你可以有多个实例,但每个实例只configuration一次。