i'm getting the error in the paypal integration - ios

i'm getting the error in the paypal integration.i download the sdk from this link paypal SDK
but i'm getting this linker errors

Add the following frameworks
1)Security.framework
2)libxml2.dylib
3)libz.1.2.5.dylib

1.Add necessary frameworks and
2.goto target->Build Setting in that
2.1.add -lc++ -ObjC to Other Linker Flags.
2.2.set YES in Enable Modules (C and Objective-C).
2.3.set YES in Link Frameworks Automatically.
Finally clean &build your project.

Related

How to set a Other Linker Flags build setting with -ObjC and -force_load

I have a problem with xcode build setting.
I'm trying to add Firebase Analytics to my project by using SPM.
For now on, I'm using "-force_load" option for "Other Linker Flags"
because I have to add some external frameworks and libraries in my project.
But when I trying to add Firebase Analytics by SPM, Firebase Docs specifies that
I have to set a "-ObjC" option in "Other Linker Flags".
If I follow that description, I'm facing duplicate symbols error.
What I have done for solving this problem is:
"GCC_NO_COMMON_BLOCKS": "NO",
switch "-force_load" to "-all_load"
just set "-ObjC"
all of those doesn't work for me.
Is there any solution for this situation?
or
Can I use both -ObjC and -force_load options together?
I'm expecting that I don't need to change any code in my external libraries and frameworks,
is this possible?

Duplicate symbols for architecture x86_64 using Google Sign-In SDK 4.0.1

I was stuck with this error from the past 2 days. Please Ignore if this question already exists as I don't found any solution I am posting this.
In my project I have integrated google maps sdk that is working fine. Presently i am using o-Auth request for gmail sign in, Now I want to implement Google Sign-In SDK 4.0.1.
My project was building with out errors before copying it. I followed the steps that are given in this link to copy sdk to my app. I was getting this error
ld: 108 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I use the following solutions still can't fix it:
Build Options -> Enable Bitcode -> set "No".
Remove -ObjC from Other Linker Flags.
project Target -> Build phases -> compile sources, ckeck no
duplicate files.
Make sure I haven't #imported a .m file.
Deploytarget is 6.0
Checked all solutions but didn't worked me ...Can any one suggest me how to fix this?
I have also faced same issue in implementing Google Sign-In SDK. I have not found any solution to it. But to solve this issue follow these steps.
Either you should use CocoaPods and follow the documentation you will not get these error.
If you are not using CocoaPods, then in that case follow the 'Demo Project' that comes with Google Sign-In SDK. Use all the frameworks that are used in this 'Demo Project' and also add the required libraries as in project.
Don't forget to add linker flag.
Note : I know this is not the solution, but i had to follow the 'Demo Project' to solve this issue.
For me, this error happened because somehow CocoaPods appears to have duplicated a GTMOAuth2ViewControllerTouch.m file, creating a GTMOAuth2ViewControllerTouch 2.m file and including it in the project.
pod update did not resolve. I manually deleted the file and the issue went away. After another pod update, the issue did not reappear.

Linker Command Failed Facebook Sdk

I am new to iOS and trying to implement Facebook SDK in a project using AppGuru Facebook integration in Swift tutorial. But I am facing this linker command error while building my app:
error is framework not found Bolts for architecture x84_64(linker command failed with exit code 1)
Here is a screenshot:
Download demo project with facebook login from below URL. you have to configure your facebook app id.
Download
You have to import this 3 frameworks in your project.
Check on this
https://developers.facebook.com/docs/ios
https://developers.facebook.com/docs/facebook-login/ios
Framework search path - add below line
$(PROJECT_DIR)/Projectname/FacebookSDK
Also check, bolts, core and login kit of facebook has to be in build phase -> Link binary with libraries
Follow steps -
Go to your project setting page
Select your project (left side)
Click the Build Settings tab
Search Bitcode
Set Enable Bitcode to No
I had the same error. I deleted the ParseFacebookUtils.framework library from my project and kept only the ParseFacebookUtilsV4.framework.
When using the AWS Mobile SDK for iOS and Facebook SDK together, you should not import Bolts.framework in your project. If you remove it, it should compile.
Copy the frameworks into the project but, unlike what Facebook tutorial suggests, select "Copy items into destination group's folder". I did that and it worked fine for me.

framework not found CometChatSDK

I have integrated CometChat Ready UI SDK in my iOS App. But when I try to build the code at that time I am getting following linker error ld: framework not found CometChatSDK
Following things I have added in my project
1) Framework search path is set to $(PROJECT_DIR) -> recursive
2) I have added -all_load , -ObjC , -lc++ in Other Linker Flag
3) Cometchat SDK is also showing in the Project -> Build Phases -> Link Binaries with Libraries
As you can see in beginner's guide of cometchat: https://support.cometchat.com/documentation/php/ios-chat-sdk/custom-ui/initial-setup/
Put the following in your Build Phases -> Link binary with libraries:
SystemConfigurarion.framework
MobileCoreServices.framework
CoreGraphics.framework
CFNetwork.framework
libxml2.dylib
libz.dylib
Next, Click on Targets → Your app name → and then the ‘Build Settings’ tab. Scroll down to the ‘Linking’ section, and double-click to the right of where it says ‘Other Linker Flags’. Click on the “+” button to add the following:
ObjC
all_load
Try semantic import if everything fail.
I have found following solution form the cometChat support team.
1) Change CometChatSDK.framework name to MessageSDKFramework.framework
2) Change your Import Statement #import<CometChatSDK/MessageSDK.h> to #import<MessageSDKFramework/MessageSDK.h>
Thank You

Parse and AdMob in One iOS Binary?

Has anybody been able to compile and link Parse and AdMob in One iOS Binary?I get linker errors either from Parse or from AdMob depending on build settings.
Your help is much appreciated.
AdMob requires the -ObjC linker flag :"This flag causes the linker to load every object file in the library that defines an Objective-C class or category".
Parse has removed the Facebook SDK from its framework which generates the linker errors when the project is compiled with the -ObjC flag that AdMob requires.
I don't know of a way around AdMob's dependence on the -ObjC flag. I'm not a linker guru.
The solution Parse recommends is to add the Facebook SDK to your project. I don't know of a workaround to this either if you don't plan to use Facebook.
Parse has a support discussion here: https://www.parse.com/questions/i-dont-want-to-use-facebook-in-my-app
Update: I tried replacing -ObjC linker flag with -forceload of the AdMob library. However, I got the AdMob crash. It's the same one you get with the missing -ObjC linker flag. Any linker experts know how to replace the -ObjC with something that targets only the AdMob library?
Update 2: I needed to revisit this after upgrading to XCode 6, iOS 8, and a new version of adMob. I got it to work by using this -force_load:
-force_load $(SRCROOT)/.../GoogleMobileAdsSdkiOS/libGoogleAdMobAds.a
In my case, I have adMob installed inside of subfolders of my project source. Just substitute ... with your relative path to the adMob SDK.
Looks like following flag solve the problem:
-force_load Libraries/GoogleAdMobAdsSdkiOS-6.8.0/libGoogleAdMobAds.a

Resources