I have just integrated the MarketingCloudSDK (5.2.1) via CocoaPods to an iOS app and I am facing a duplicate symbol error. Someone already had the same issue posted to the apple forum:

https://forums.developer.apple.com/thread/105532 but never got a reply.

All our pods are statically linked. The App is pure Objective C. We added for the App "Other Linker Flags": -all_load for good reasons (which is actually causing the trouble).

In our app we have "Code coverage" set to "Gather coverage" for all targets. If I turn it off, it is working, but our CI should really run with code coverage.

Is it possible that the sdk was build with CLANG_ENABLE_CODE_COVERAGE? I believe it is the corresponding flag.

Or some other profiling flags, i.e. -fprofile-instr-generate which would be rejected by Apple: https://developer.apple.com/library/archive/qa/qa1964/_index.html

1 Answer 1


@theguy we are aware of this issue and the conflict presented by the "-all_load" linker flag in conjunction with CocoaPods.

We are determining the best path forward with the change to the SDK.

In the meantime, is it possible to switch to -force_load with a specific path to the output of the pod's build (the .a)? This may address the problem directly while we work out the SDK change.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .