Linker errors building iOS app with Simperium - ios

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.

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:
Select each corresponding file for the conflicting library, open the browser on the right, and uncheck the box next to your target name.
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.

Related

Apple Mach-O Linker Error when Facebook installed using pods in the project

I have just installed the Facebook using pods and now my project is not working and says. Please help someone.
Apple Mach-O Linker Error
ld: 87 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
duplicate symbols for architecture means your files are doubled, Please check if you have added facebook framework manually before using pods
you can also check files duplicating by seeing whole description of error
Solution 1
You need to do this:
Click on your project (targets) Click on Build Settings Under Library Search Paths, delete the paths May be this will help you.
Solution 2
You have duplicate symbol method which means there are duplicate file in project
In your Target's Build Phase, under "Compile Sources" check if there are duplicate file and delete one if you have duplication.
Hope this will help you.

SMCalloutView duplicate symbol linking error iOS

Im using mapbox and I need to customise annotation for it. For that I found that we can use SMCalloutView.
But when I integrated SMCalloutView into xcode project, then it started giving linking duplicate symbol errors.
/Users/xxx/Library/Developer/Xcode/DerivedData/mapboxDemoWithCustomAnnotation-ebmsoyqrqzxuouckyxxwhjbcakwf/Build/Intermediates/mapboxDemoWithCustomAnnotation.build/Debug-iphonesimulator/mapboxDemoWithCustomAnnotation.build/Objects-normal/x86_64/SMCalloutView.o
/Users/xxx/Desktop/mapboxDemoWithCustomAnnotation/Pods/Mapbox-iOS-SDK/Mapbox.framework/Mapbox(SMCalloutView.o)
ld: 38 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Can anyone help me on this?
The problem you have is that somewhere you are including the SMCalloutView file twice which is being compiled twice.
Its a drawback for objective-c as you cannot have the same name of an object twice.
I would first, check in your project if you have included the smcalloutview file in your project.
Start by looking your project(like mine, the Movei project) this should NOT include smcalloutview class.
SMCalloutView should only exist in the Pods project.

Chartboost with Unity 5 on xcode missing linking file

Has anybody used chatboost with unity 5 on IOS? I get a linking error and a warning
warning: directory not found for option '-L/Users/alexm/Downloads/iosFree/LibrariesPlugins/iOS'
ld: library not found for -lChartboost
clang: error: linker command failed with exit code 1 (use -v to see invocation)
On the Android everything is fine. Do I have to do anything extra other what i mentioned on chartboost integration page?
Make sure that if the Chartboost plugin is using some PostprocessBuildPlayer stuff, that is isn't getting clobbered by a different script.
If, in XCode, you check the build phases tab for linked frameworks and you don't see Chartboost.framework, it's likely the build script not running correctly.

"directory not found for option" Flurry Analytics Library

Whenever I reopen my XCode project, I always get these errors cause by the flurry analytics library:
ld: warning: directory not found for option '-L/Users/...'
ld: warning: directory not found for option '-LFiles/Flurry'
ld: library not found for -lFlurry_5.0.0
clang: error: linker command failed with exit code 1 (use -v to see invocation)
At first, when the project is opened, it will not build, then if I drag the flurry library to frameworks (even though it is already visibly there), it will build, but there will still be the two warnings.
If I delete the library search paths, then the error and warnings go away, but when I reopen the project, they always come back.
Is there anyway to fix this so the warnings are not always there and I don't have to re-add the library every time I open the project?
There is a reference issue with the library.
Remove existing references in the library search paths.
Remove the Library if present inside the Project folder.
Copy the Library inside the project folder say "Flurry".
Reference the library as a relative path (not absolute) in library search path as "$(SRCROOT)/Flurry"

PJSIP Siphon(ld: library not found for -lpj-arm-apple-darwin9)

Hi i am using the Siphon application to build my application. I have successfuly upload the binary to itunes store 3 months before. Now have to change the graphic of that app and trying to build the binary but it is giving me the following linker error. Any one can please guide me why it is so.
ld: library not found for -lpj-arm-apple-darwin9
clang: error: linker command failed with exit code 1 (use -v to see invocation)
one thing more i have libpj-arm-apple-darwin9.a library inside my project.
This error occurs when we copy the project from one place to other. so the path of libraries become changed and
we can solve it by just removing the required libraries by reference and copy the libraries again inside our project.

Resources