Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clash between application and sdk using separate versions of the Texture library #2043

Open
noambartouv opened this issue Nov 10, 2021 · 2 comments

Comments

@noambartouv
Copy link

We have an SDK that utilizes the Texture library and when applications that use our SDK also use the Texture library independently they receive a duplicate symbols warning at runtime, something like this:

Class ASNavigationController is implemented in both /Applications/... (0xXXXXXXXXXXX) and /Users/.../Frameworks/.../framework_name (0xYYYYYYYYY). One of the two will be used. Which one is undefined.

We need a way for both copies of the library to work together because the application and SDK my be using different versions of the Texture library. Directing the application and SDK to use just one of the versions may lead to the application not building, something we've been experiencing with applications running 2.7.0 and SDK running 3.0.0 versions of Texture.

We've tried multiple solutions with no luck, including the cocoapods-mangle plugin but just as the plugin's caveats section explains, prefixing the library symbols fails with all AS class categories, and its not something we've managed to fix manually.

What solution would you purpose to allow two pod versions to compile and run together?

@akhrail1996
Copy link

In my case it was iOS 15 problem which I solved by upgrading to https://github.com/TextureGroup/Texture/releases/tag/3.1.0.
Not sure that this is applicable in your case, but maybe it will help..

@noambartouv
Copy link
Author

noambartouv commented Nov 14, 2021

The issue I'm describing is unrelated to the ASNavigationController name change to ASDKNavigationController that was conducted as part of #2020 to fix a collision with another pod.

The name conflict in our case exists with all class names shared between the two versions of the Texture pod (used
separately by the application and SDK), we present just one message as an example. The solution we're seeking is how to integrate two versions of the Texture pod that function along side one another.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants