Closed AjIthiOS18 closed 5 months ago
I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
Hi @AjIthiOS18, I tried to reproduce the issue by installing both the Firebase SDK and GTM, and I'm able to build my app successfully. But when I tried adding the FirebaseUI, the duplicate symbol error appeared. I also tried removing the Firebase SDK but the issue persists. With this, it seems like there's a conflict between the GTM SDK and FirebaseUI. You may try to reach out to GTM support or FirebaseUI repo.
@ncooke3 Is investigating on the FirebaseUI side - https://github.com/firebase/FirebaseUI-iOS/pull/1188
Thank you @rizafran and @paulb777
The fix is merged for the next FirebaseUI release
This should be fixed in FirebaseUI 13.2.0.
Description
I first installed the Google Tag Manager via SwiftPM, added the -ObjC in the other linker flags everything was working fine. But when I installed Firebase and FirebaseUI, I started to get duplicate symbols error. Once I removed the -ObjC from other linker flags, the error also disappeared but I need to include the -ObjC for both Firebase Analytics as well as GTM to function.
Reproducing the issue
Step 1: Install GTM via SwiftPM Step 2: Add the -ObjC in other linker flags Step 3: Install Firebase and FirebaseUI via SwiftPM Step 4: Build the project
Firebase SDK Version
10.24.0 and 10.25.0
Xcode Version
15.2
Installation Method
Swift Package Manager
Firebase Product(s)
Analytics, Crashlytics, Firestore, Messaging
Targeted Platforms
iOS
Relevant Log Output
If using Swift Package Manager, the project's Package.resolved
{
"pins" : [ { "identity" : "abseil-cpp-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/abseil-cpp-binary.git", "state" : { "revision" : "748c7837511d0e6a507737353af268484e1745e2", "version" : "1.2024011601.1" } }, { "identity" : "alamofire", "kind" : "remoteSourceControl", "location" : "https://github.com/Alamofire/Alamofire.git", "state" : { "revision" : "f455c2975872ccd2d9c81594c658af65716e9b9a", "version" : "5.9.1" } }, { "identity" : "alamofireimage", "kind" : "remoteSourceControl", "location" : "https://github.com/Alamofire/AlamofireImage.git", "state" : { "revision" : "1eaf3b6c6882bed10f6e7b119665599dd2329aa1", "version" : "4.3.0" } }, { "identity" : "app-check", "kind" : "remoteSourceControl", "location" : "https://github.com/google/app-check.git", "state" : { "revision" : "7d2688de038d5484866d835acb47b379722d610e", "version" : "10.19.0" } }, { "identity" : "appauth-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/openid/AppAuth-iOS.git", "state" : { "revision" : "c89ed571ae140f8eb1142735e6e23d7bb8c34cb2", "version" : "1.7.5" } }, { "identity" : "clevertap-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/CleverTap/clevertap-ios-sdk.git", "state" : { "revision" : "bc8aa7b0ab33204269f87aa23cd1366a6ae2fb59", "version" : "6.0.0" } }, { "identity" : "facebook-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/facebook/facebook-ios-sdk.git", "state" : { "revision" : "7fd8a930a5b2c940a22efafe0e214ed0df671312", "version" : "15.1.0" } }, { "identity" : "firebase-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/firebase-ios-sdk.git", "state" : { "revision" : "42eae77a0af79e9c3f41df04a23c76f05cfdda77", "version" : "10.24.0" } }, { "identity" : "firebaseui-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/FirebaseUI-iOS", "state" : { "revision" : "a80bbc8fd3d27e097982ac44e66abe8b84b28ba3", "version" : "13.1.0" } }, { "identity" : "google-tag-manager-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/googleanalytics/google-tag-manager-ios-sdk", "state" : { "revision" : "401bb9a21979e9dcfa8cebb00611d1b1a75272a1", "version" : "7.4.3" } }, { "identity" : "googleappmeasurement", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleAppMeasurement.git", "state" : { "revision" : "51ba746a9d51a4bd0774b68499b0c73ef6e8570d", "version" : "10.24.0" } }, { "identity" : "googledatatransport", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleDataTransport.git", "state" : { "revision" : "a637d318ae7ae246b02d7305121275bc75ed5565", "version" : "9.4.0" } }, { "identity" : "googlesignin-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleSignIn-iOS", "state" : { "revision" : "9c9b36af86a4dd3da16048a36cf37351e63ccfe1", "version" : "6.2.4" } }, { "identity" : "googleutilities", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleUtilities.git", "state" : { "revision" : "8e5d57ed87057cd7b0e4e8f474d9e78f73eb85f7", "version" : "7.13.2" } }, { "identity" : "grpc-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/grpc-binary.git", "state" : { "revision" : "e9fad491d0673bdda7063a0341fb6b47a30c5359", "version" : "1.62.2" } }, { "identity" : "gtm-session-fetcher", "kind" : "remoteSourceControl", "location" : "https://github.com/google/gtm-session-fetcher.git", "state" : { "revision" : "5ccda3981422a84186387dbb763ba739178b529c", "version" : "2.3.0" } }, { "identity" : "gtmappauth", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GTMAppAuth.git", "state" : { "revision" : "6dee0cde8a1b223737a5159e55e6b4ec16bbbdd9", "version" : "1.3.1" } }, { "identity" : "inputbaraccessoryview", "kind" : "remoteSourceControl", "location" : "https://github.com/nathantannar4/InputBarAccessoryView.git", "state" : { "revision" : "2843b4454cfb6de5b4d1e5939fef2dd6257b69ee", "version" : "5.5.0" } }, { "identity" : "interop-ios-for-google-sdks", "kind" : "remoteSourceControl", "location" : "https://github.com/google/interop-ios-for-google-sdks.git", "state" : { "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648", "version" : "100.0.0" } }, { "identity" : "ios", "kind" : "remoteSourceControl", "location" : "https://github.com/iProov/ios.git", "state" : { "revision" : "313f835ee44761d79f8abd8f78b62001594c376d", "version" : "11.0.3" } }, { "identity" : "ios-branch-sdk-spm", "kind" : "remoteSourceControl", "location" : "https://github.com/BranchMetrics/ios-branch-sdk-spm", "state" : { "revision" : "27a15e443284bbed168d8e06709b675678c2abe7", "version" : "3.4.1" } }, { "identity" : "ios-places-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/googlemaps/ios-places-sdk", "state" : { "revision" : "db961cdf29b116c497baf87c1ef8188082089fb7", "version" : "8.3.0" } }, { "identity" : "iqkeyboardmanager", "kind" : "remoteSourceControl", "location" : "https://github.com/hackiftekhar/IQKeyboardManager.git", "state" : { "revision" : "5d30eba093678d05a6d5d1800f8c1d2121c7e3dd", "version" : "7.0.2" } }, { "identity" : "kingfisher", "kind" : "remoteSourceControl", "location" : "https://github.com/onevcat/Kingfisher.git", "state" : { "revision" : "3ec0ab0bca4feb56e8b33e289c9496e89059dd08", "version" : "7.10.2" } }, { "identity" : "leveldb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/leveldb.git", "state" : { "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1", "version" : "1.22.5" } }, { "identity" : "lottie-spm", "kind" : "remoteSourceControl", "location" : "https://github.com/airbnb/lottie-spm.git", "state" : { "revision" : "4d0c11c85f5a9ec3d1b0daf2dc6daebc0e2df897", "version" : "4.4.2" } }, { "identity" : "mobile-sdk-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/Jumio/mobile-sdk-ios", "state" : { "revision" : "9bbe2b939b8b36a15d7ae1059cab6fab99106d7e", "version" : "4.9.1" } }, { "identity" : "nanopb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/nanopb.git", "state" : { "revision" : "b7e1104502eca3a213b46303391ca4d3bc8ddec1", "version" : "2.30910.0" } }, { "identity" : "promises", "kind" : "remoteSourceControl", "location" : "https://github.com/google/promises.git", "state" : { "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac", "version" : "2.4.0" } }, { "identity" : "qrcode", "kind" : "remoteSourceControl", "location" : "https://github.com/dagronf/qrcode.git", "state" : { "revision" : "13c605cfa866e257ac9d4ac8a47320a0e11fb6e0", "version" : "17.0.0" } }, { "identity" : "reachability.swift", "kind" : "remoteSourceControl", "location" : "https://github.com/ashleymills/Reachability.swift", "state" : { "revision" : "98e968e7b6c1318fb61df23e347bc319761e8acb", "version" : "5.0.0" } }, { "identity" : "sdwebimage", "kind" : "remoteSourceControl", "location" : "https://github.com/SDWebImage/SDWebImage.git", "state" : { "revision" : "f6afa0132961d593f07970d84e2d8b588c29ea04", "version" : "5.19.1" } }, { "identity" : "swift-protobuf", "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-protobuf.git", "state" : { "revision" : "9f0c76544701845ad98716f3f6a774a892152bcb", "version" : "1.26.0" } }, { "identity" : "swift-qrcode-generator", "kind" : "remoteSourceControl", "location" : "https://github.com/dagronf/swift-qrcode-generator", "state" : { "revision" : "2b1980b825f08a81ccc762b0c4d17fcde9d5e953", "version" : "2.0.2" } }, { "identity" : "swiftimagereadwrite", "kind" : "remoteSourceControl", "location" : "https://github.com/dagronf/SwiftImageReadWrite", "state" : { "revision" : "02c141026a0c5d74635a457d2d0964c4cb8935b3", "version" : "1.4.1" } }, { "identity" : "ttgsnackbar", "kind" : "remoteSourceControl", "location" : "https://github.com/zekunyan/TTGSnackbar", "state" : { "revision" : "bbb56733e8b15fb2f8ac7783eda01b93bc4a0dad", "version" : "1.11.0" } } ], "version" : 2 }