diff --git a/FirebaseCore/Sources/FIRApp.m b/FirebaseCore/Sources/FIRApp.m index abec9669f9b..0fc8691b3e2 100644 --- a/FirebaseCore/Sources/FIRApp.m +++ b/FirebaseCore/Sources/FIRApp.m @@ -821,11 +821,24 @@ + (void)registerSwiftComponents { @"FIRFunctions" : @"fire-fun", @"FIRStorage" : @"fire-str", @"FIRVertexAIComponent" : @"fire-vertex", + @"FIRDataConnectComponent" : @"fire-dc", }; for (NSString *className in swiftLibraries.allKeys) { Class klass = NSClassFromString(className); if (klass) { - [FIRApp registerLibrary:swiftLibraries[className] withVersion:FIRFirebaseVersion()]; + NSString *version = FIRFirebaseVersion(); +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wundeclared-selector" + SEL sdkVersionSelector = @selector(sdkVersion); +#pragma clang diagnostic pop + if ([klass respondsToSelector:sdkVersionSelector]) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" + NSString *sdkVersion = (NSString *)[klass performSelector:sdkVersionSelector]; + if (sdkVersion) version = sdkVersion; +#pragma clang diagnostic pop + } + [FIRApp registerLibrary:swiftLibraries[className] withVersion:version]; } } }