Skip to content

Commit 9f27468

Browse files
authored
[Core] Add ability to load version from product SDK (#13639)
1 parent c282b6c commit 9f27468

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

FirebaseCore/Sources/FIRApp.m

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -821,11 +821,24 @@ + (void)registerSwiftComponents {
821821
@"FIRFunctions" : @"fire-fun",
822822
@"FIRStorage" : @"fire-str",
823823
@"FIRVertexAIComponent" : @"fire-vertex",
824+
@"FIRDataConnectComponent" : @"fire-dc",
824825
};
825826
for (NSString *className in swiftLibraries.allKeys) {
826827
Class klass = NSClassFromString(className);
827828
if (klass) {
828-
[FIRApp registerLibrary:swiftLibraries[className] withVersion:FIRFirebaseVersion()];
829+
NSString *version = FIRFirebaseVersion();
830+
#pragma clang diagnostic push
831+
#pragma clang diagnostic ignored "-Wundeclared-selector"
832+
SEL sdkVersionSelector = @selector(sdkVersion);
833+
#pragma clang diagnostic pop
834+
if ([klass respondsToSelector:sdkVersionSelector]) {
835+
#pragma clang diagnostic push
836+
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
837+
NSString *sdkVersion = (NSString *)[klass performSelector:sdkVersionSelector];
838+
if (sdkVersion) version = sdkVersion;
839+
#pragma clang diagnostic pop
840+
}
841+
[FIRApp registerLibrary:swiftLibraries[className] withVersion:version];
829842
}
830843
}
831844
}

0 commit comments

Comments
 (0)