Search code examples
iossimperium

Linker errors building iOS app with Simperium


I'm getting linker errors when integrating Simperium into my app:

ld: duplicate symbol _OBJC_CLASS_$_DDASLLogger in /Users/zulfi_shah/Documents/ContactsJournal-TestSimperium/SimpleList/Simperium.framework/Simperium(DDASLLogger.o) and /Users/zulfi_shah/Library/Developer/Xcode/DerivedData/SimpleList-cxdtxuubxyczhgcyxbixtjtvzkct/Build/Intermediates/SimpleList.build/Debug-iphonesimulator/SimpleList.build/Objects-normal/i386/DDASLLogger.o for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

The issue seems to be with DDASLLogger which is included in CocoaHTTP package. I also saw the same issue with Reachability classes before. How do I ensure Simperium framework plays nice with other libraries in my binary? Thanks.


Solution

  • We're updating the library on our end to avoid these name clashes. This should be fixed soon.

    In the meantime, if you encounter this problem (with Simperium or any other library) you can remove your own versions of the conflicting library from your target. You can do this in a couple ways:

    1. Select each corresponding file for the conflicting library, open the browser on the right, and uncheck the box next to your target name.

    2. Select your Project, then your target, go to Build Phases | Compile Sources, and remove the source files for the conflicting library.

    This is not very friendly, hence why we'll be fixing it soon.