Skip to content

ImglyKit and EmbraceSDK name collision #539

Description

@santitopo

Re opening this issue in this repo embrace-io/embrace-react-native-sdk#736

After updating the Embrace SDK, we hit a Swift/ObjC naming collision on iOS: both EmbraceIO and ImglyKit define an @objc enum called LogLevel. Since both symbols get exposed to the ObjC runtime with the same name, the build fails with a duplicate symbol error.

Fix: We added a post-install script in our Podfile that patches EmbraceIO's LogLevel.swift source file, changing @objc public enum LogLevel: to @objc(EmbraceLogLevel) public enum LogLevel:. This gives the Embrace enum a unique ObjC name (EmbraceLogLevel) while keeping the Swift API unchanged.

It would be great if Embrace could add an @objc(EmbraceLogLevel) annotation (or similar) to the LogLevel enum upstream, so it doesn't collide with other SDKs that also expose a LogLevel to the ObjC runtime.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions