We are going to use Firebase C++ SDK for multiple projects, but we are not using cocoapods so we are manually downloading the Firebase SDKs as pointed out in the documentation from here:
https://firebase.google.com/docs/ios/setup#frameworks https://firebase.google.com/docs/cpp/setup#available_libraries
The Firebase readme file from the downloaded C++ SDK (readme.md) states the following:
Important: Each version of the Firebase C++ SDK supports a specific version of the Firebase iOS SDK. Please ensure that you reference the Cocoapod versions listed above.
The download link from the documentation doesn't have multiple links for each version.
Edit: modified text and images with correct versions
Is there a place where we can download specific versions of the SKDs? How can we make sure that the download versions are compatible with each other? Just downloaded both sdks and from the readme: - C++ SDK is version 5.6.1 and requires Firebase/Core Cocoapod (5.20.0) - Objective-C SDK has Firebase version 5.20.2
The Objective-C library is a bigger version then requirement of the C++ one (5.20.2 > 5.20.0) but is this property enough to assure compatibility?
See below images for readmes:
First off it seems that Google forgot to make a branch for the iOS version 5.20.2 (on git currently only this exists: https://github.com/firebase/firebase-ios-sdk/tree/release-5.20.0 )
Considering that only the last number was incremented, let's assume there aren't big changes between the two versions, so we can check 5.20.0.
Your issue is that in the C++ SDK's readme for the iOS part they don't specify exactly the obj-c counterparts but the pods version. You can use the pods files though to check if the versions correspond.
For example we can check "Firebase Auth": in the C++ SDK says that it uses the 5.20.0 pod for ios, which is this one: https://github.com/firebase/firebase-ios-sdk/blob/release-5.20.0/FirebaseAuth.podspec
We can see in the file that the version of Firebase Auth for the obj-c 5.20.0 SDK is 5.4.2, as it is in your readme.
You can do the same for all necessary services to make sure the compatibility is maintained.
I have no idea unfortunately if you can check this in an automatic way.