Apple Mach-O Linker Error (2) - iphone

I'm getting 2 Mach-O Linker Errors in regards to the CloudApp API. I have been been searching for numerous answers in both StackOverflow, Apple's Developer forums, and elsewhere that would at least be remotely close to be problem, but they have not been very helpful. This has been boggling my mind for the past few days and I can't seem to fix it.
Here are the two errors:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_CLAPIEngine", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Any help would be appreciated. If you have any questions, just ask. Thanks in advance.

You're not linking in the framework as part of the build process
Build the cloud library first. Then ensure that the libCloud.a library is linked to your application

Related

error on AdMob integration

I Have added Addmob sdk in my project and even added all framework needed. But m getting below error for StoreKit framework even i have added it in my project but still getting error..
ld: warning: directory not found for option '- L/Users/company/Downloads/projectname/GoogleAdMobAdsSdkiOS-6.4.2/Add- ons/GoogleAnalyticsiOS_2.0beta4/Library'
ld: warning: directory not found for option '-L/Users/company/Downloads/projectname/GoogleAdMobAdsSdkiOS-6.4.2'
ld: warning: ignoring file /Users/company/Downloads/StoreKit.framework/StoreKit, missing required architecture i386 in file /Users/company/Downloads/StoreKit.framework/StoreKit (2 slices)
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_SKStoreProductViewController", referenced from:
objc-class-ref in libGoogleAdMobAds.a(GADOpener.o)
"_SKStoreProductParameterITunesItemIdentifier", referenced from:
-[GADOpener openInAppStore:fallbackURLString:] in libGoogleAdMobAds.a(GADOpener.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I search a lot but in every post its sid to add Storkit.. but i have already added it but still getting error. even i have cleaned the project a lot of time.
Just ensure that you have added the following libraries,
1.AudioToolbox
2.MessageUI
3.SystemConfiguration
4.CoreGraphics
Also the frameworks,
1.MessageUI.framework
2.StoreKit.framework
3.SystemConfiguration.framework
According to your error message there is a problem with StoreKit.framework...Please verify that...
Refer: build error when add Admob in iOS app
Add AdSupport.framework, also make it as optional
It says that your StoreKit binary is not build for i386. This should not happen with the default one. Did you download if separately from somewhere? You can find the default here:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer‌​/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/StoreKit.framework
Use that.

Upgrade from Facebook iOS SDK 3.2.1 to 3.5 gave me an error with FBCrypto

After installing the new sdk I cleaned the project and build it. It fails with this message:
Undefined symbols for architecture i386:
"_SecRandomCopyBytes", referenced from:
+[FBCrypto randomBytes:] in FacebookSDK(FBCrypto.o)
-[FBCrypto encrypt:additionalDataToSign:] in FacebookSDK(FBCrypto.o)
"_kSecRandomDefault", referenced from:
+[FBCrypto randomBytes:] in FacebookSDK(FBCrypto.o)
-[FBCrypto encrypt:additionalDataToSign:] in FacebookSDK(FBCrypto.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Same problem anyone? Solutions?
Well, you need to include the security framework and the libsqlite3.dylib as stated here.
It works now.
edit
Also found this now...
Jumping on this, im running into the same issue, I saw that the FBSDK needs the Security, AdSupport, etc. Here's my linked libraries:
My error is the same:
Undefined symbols for architecture i386:
"_SecRandomCopyBytes", referenced from:
+[FBCrypto randomBytes:] in FacebookSDK(FBCrypto.o)
-[FBCrypto encrypt:additionalDataToSign:] in FacebookSDK(FBCrypto.o)
"_kSecRandomDefault", referenced from:
+[FBCrypto randomBytes:] in FacebookSDK(FBCrypto.o)
-[FBCrypto encrypt:additionalDataToSign:] in FacebookSDK(FBCrypto.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
All the other framework dependencies are good to go as far as I can tell. A Vlean->Build didn't fix it either. Thanks.
Edit: Got it. I needed to re Add Files to Project and check the Add to Target button.. basically XCode automagicka

Getting "_OBJC_CLASS_$_NgnEngine" error after linking iOS fat library

Why i am still getting this error even after linking fat library
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_NgnEngine", referenced from:
objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
and linking everything in "User-Defined
I am following the instruction which written here Link ios-ngn-stak to your app
any help please, this is tiring me and it is my senior project
please refer this two link for getting solution if your issue:-
Error : "_OBJC_CLASS_$_NgnEngine"
Xcode with iOS - Creating a library in a way that is easy to run in debug mode, distribute, iterate

Undefined symbols for architecture i386: "_PerformXMLXPathQuery"

I looked at all the others that had a similar title but none of those solutions worked for some reason... Hoping someone can help!
Undefined symbols for architecture i386:
"_PerformXMLXPathQuery", referenced from:
-[WeatherForecast connectionDidFinishLoading:] in WeatherForecast.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
"_PerformXMLXPathQuery", referenced from:
-[WeatherForecast connectionDidFinishLoading:] in WeatherForecast.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I am new to iOS so any help would be greatly appreciated!!
Seems like you are compiling for the simulator (i386) with a library for the Device (ARM). Either compile for the device and run on it or get an i386 version of the library and run with it on the simulator.
For those who need it, the issue was that my XPathQuery.m file was not in the Complied Sources list. It was as simple as that!
Just posting this for future reference! Hope it helps someone!

Wierd error when trying to run app with AdMob

Undefined symbols for architecture i386:
"_AudioServicesPlaySystemSound", referenced from:
-[GADWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:] in libGoogleAdMobAds.a(GADWebViewDelegate.o)
"_OBJC_CLASS_$_MFMailComposeViewController", referenced from:
objc-class-ref in libGoogleAdMobAds.a(GADOpener.o)
"_OBJC_CLASS_$_MFMessageComposeViewController", referenced from:
objc-class-ref in libGoogleAdMobAds.a(GADOpener.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
What does it means? what do I need to do in order to fix that?
Thanks alot.
FYI - I had to add the AudioToolbox framework to get this to compile.
The solution was to add AVAudioPlayer and MessageUI frameworks. That's about it.
From where ever you have got the library that you are using, its only compiled to be used on the device.. (architecture armv7), where as you are trying to test it on the simulator (architecture i386) thus the error. So if you want to test it on the simulator, get a version of the library which is compiled for i386.
You can also combine both the libraries using lipo command and use it on any architecture..
hoping this helps.. :)