_OBJC_CLASS_$_Stripe clang error is SWIFT - swift

All,
I have installed the Stripe SDK and I have added :
PassKit.framework
Security.framework
Foundation.framework
QuartzCore.framework
When I build the application (its empty) all it has got is my public key.
I get :
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_Stripe", referenced from:
__TMaCSo6Stripe in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Have i got enough frameworks or am I missing any ?
Any help would be brilliant

It sounds like you're not properly #importing Stripe.h. You'll need to create a bridging header for your project that contains #import <Stripe/Stripe.h>. For more, see Apple's guide to Swift/Objective-C interoperability: https://developer.apple.com/library/ios/documentation/swift/conceptual/buildingcocoaapps/MixandMatch.html
Best,
Jack

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.

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

Linker command failed with exit code 1 - not sure why

I'm not sure exactly why i'm getting this. It usually comes because of a missing framework, except its mentioning a class I already have in my project, and imported into the file it's saying the error is on. It says...
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_ELCImagePickerController", referenced from:
objc-class-ref in JCreateViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
JCreateViewController.m had this in the imports:
#import "ELCImagePickerController.h"
So i don't really know why it's giving me this error.
Any ideas?
In the interest of providing an acceptable answer, from the comments:
Make sure ELCImagePickerController is included in your project's Compile Sources build phase.
you can add resources to your projects build phases by simple select and add see this link

How can I install EGOPhotoViewer in my app?

I am trying to create a photo gallery in my app, I tried to use Three20 and EGOPhotoViewer. I would like to use EgoPhotoViewer but I am new at programming and I don't know how to install EgoPhotoViewer to my app. When I try to use it I got this error:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_MyPhoto", referenced from:
objc-class-ref in MasterViewController.o
"_OBJC_CLASS_$_MyPhotoSource", referenced from:
objc-class-ref in MasterViewController.o
"_OBJC_CLASS_$_EGOPhotoViewController", referenced from:
objc-class-ref in MasterViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Is there any way of doing this?
If EGOPhotoViewer is just a couple of classes (which is what it sounds like), then drag them into your project and #import and #class them in the proper files. If it's a framework, then drag it into your project and make sure that it is being linked in build settings, then #import <> the necessary header.
Your undefined symbols error just means that you're trying to reference an invisible, non-existent, or out of reach class.
EDIT: For future reference because I know you're still a beginner. When you see "Undefined symbols for architecture XXXX"; the XXXX is the MOST important part. If it says armv6 or armv7, then you have a device build problem. If it says "i386", that's a simulator problem. I'm going to guess that the classes for EGOPhotoViewer are universal, but there are cases where the dunderheads decided not to build for the simulator (Dropbox anyone?) and undefined symbols for architecture i386 would come up.

Simple Torch Application in XCode

I am trying to build a simple torch application for iOS 5 as described in http://developer.apple.com/library/mac/releasenotes/AudioVideo/RN-AVFoundation/_index.html#//apple_ref/doc/uid/TP40010717-CH1-DontLinkElementID_17 but i am getting "Apple Match-O Linker Error:
Undefined symbols for architecture armv7:
"_AVMediaTypeVideo", referenced from:
-[FirstViewController viewDidLoad] in FirstViewController.o
"_OBJC_CLASS_$_AVCaptureDevice", referenced from:
objc-class-ref in FirstViewController.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 appreciated
Anybody ?
Additionally: it only happens when running the project, no errors if i just clean & Build, and the code completion detects the library.
Thanks
You might need to link your project with the AVFoundation framework first.
If you're already doing that, make sure you're building for armv7 and not just armv6.
Check it in your project settings > Target > Build Settings > Architecture
As simple as this:
Linker errors like this indicate that a symbol is missing when the app is being linked. Most system symbols like these, come from system frameworks. So, I was missing a framework in my project that contains AVCaptureDevice and AVMediaTypeVideo.
To solve it, i just added the AVFoundation framework following this tutorial: http://www.thinketg.com/Company/Blogs/11-03-20/Xcode_4_Tips_Adding_frameworks_to_your_project.aspx
Now it runs !