Skip to content

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

Description

@noambartouv

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions