bambuser / BambuserPlayerSDK-iOS

SDK of Bambusers live video shopping player for iOS
7 stars 2 forks source link

Bambuser (1.4.0) and Firebase Duplicate Symbols #8

Closed joshuapoq closed 6 months ago

joshuapoq commented 7 months ago

Description

After the changes to remove Firebase at package level I believe you are still linking it statically under the hood. So when using the -ObjC linker flag and depending on both Firebase and Bambuser I'm unable to compile the app due to 1000s of duplicate symbols.

Versions

Steps

saeidbasirnia commented 7 months ago

Hi @joshuapoq,

Thanks for reporting this issue, we are looking into this.

Meanwhile if you need to use Firebase SDK, you don't need to add -ObjC flag to your project settings and you can skip this step as described in Firebase documentation. Simply add Firebase package to your project and your required products along with BambuserPlayerSDK. You should be able to build your project and start using them. Don't forget to clean your project and reset cache once you remove the flag.

Please let us know if you still facing issues.

joshuapoq commented 7 months ago

Just to note that -ObjC is not necessarily not required. I think Firebase are using ObjC to add a dynamic entry point that is also triggered if you access Analytics.analytics() so the above advise can be dangerous in rare cases: https://github.com/firebase/firebase-ios-sdk/issues/10644#issuecomment-1999691278

Update: We're also unable to remove the flag for some of our projects.

saeidbasirnia commented 6 months ago

Thanks @joshuapoq for your reply. I'm investigating this issue and will update the thread with more info soon.

saeidbasirnia commented 6 months ago

Hi @joshuapoq, We updated the binary and removed the statically linked firebase dependencies, Now it's using firebase dynamically. Please use release 1.4.1. You can find more details here Note that you should clear project and SPM caches first. Let me know if you have any questions or issues 🙂

joshuapoq commented 6 months ago

Apologies, have been slow to return to this. After updating and purging source packages all is working now! Thanks for the fast turnaround.