Other Linker Flags set to -ObjC [duplicate] - ios

This question already has an answer here:
What causes iOS linking errors?
(1 answer)
Closed 9 years ago.
I have included Other Linker Flags set to -ObjC in my Build Settings as I would like to use a framework that requires this (https://github.com/rs/SDWebImage)
However after adding this flag I get linker errors:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_SKProductsRequest", referenced from:
objc-class-ref in Parse(PFPurchase.o)
"_OBJC_CLASS_$_SKPayment", referenced from:
objc-class-ref in Parse(PFPurchase.o)
"_OBJC_CLASS_$_SKPaymentQueue", referenced from:
objc-class-ref in Parse(PFPurchase.o)
objc-class-ref in Parse(PFPaymentTransactionObserver.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Removing the -ObjC linker flag and the project builds again without errors. Any ideas of the cause? Thanks.

You need to add StoreKit.framework.
Version 1.0.62 of the Parse iOS SDK introduced In-App Purchases. This requires StoreKit.framework to be added to existing Parse iOS projects, even if IAP is not being used.
Do this:
Select your project
Select your target
Select Build Phases
In Link Binaries with Libraries, click +
Search for StoreKit and Add
Then import the framework to your project:
#import "StoreKit/StoreKit.h"
See the same error in this Parse community link.

add Storekit framework in your project and use this statement where you use write code for In App Purchage
#import "StoreKit/StoreKit.h"

Related

disable ARC For Framework

I am using this framework in my app. i want to disable ARC For this Framework. it is having only .h files. Any solution
IOTCamera
it is showing this Error
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_Camera", referenced from:
objc-class-ref in PVPetLiveShowController.o
(maybe you meant: _OBJC_CLASS_$_CameraShowGLView, _OBJC_CLASS_$_Cameras )
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation
Your framework is already compiled. This is not related to ARC. Your framework is not compiled for arm64.
If you are using Xcode check this settings when you compile your framework
check that "Build Active Architecture Only" is set to NO (not as shown in screenshot)
recompile framework

Undefined symbols for architecture armv7, ld: symbol(s) not found for architecture armv7

I am implementing google cloud messaging in my project, and i have setup cocoapods in my project. But when I run the project it generate error, this error is
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_SKProductsRequest", referenced from:
objc-class-ref in libGGLCore.a(GMRProductsRequest.o)
"_OBJC_CLASS_$_SKPaymentQueue", referenced from:
objc-class-ref in libGGLCore.a(GMRInAppPurchaseTransactionReporter.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation). I am using Xcode 7 and swift 2 and my pod version is 1.0.0.beta.2
Please help me, I am not able to solve this issue.
Read this post... After update to Xcode 5 - ld: symbol(s) not found for architecture armv7 or armv7s linker error
Basically you need to remove Build Active Architecture Only from all your static libraries' project build settings. Xcode added this with their update as it makes Xcode compile faster since it only requires Xcode to compile for the connected device, but it is causing problems in your case so you may remove it
I have add GameKit.framework and StoreKit.framework into Target>>General>>Linked Frameworks and Libraries.
clean project and build project.An error is solved

Xcode Build error Undefined symbols for architecture arm64: "_OBJC_CLASS_$_GameScene"

I have activated arm7 armv7 arm64 as valid architecture for 64 bit requirement by Apple recently but when I try to build the app in Xcode it throws me this error. I get a warning first for libchartboost.a not being found, I download the chartboost latest folder from their website but it does not have libchartboost.a so I am still using chartboost 3.2.1. But not sure if thats the issue since I get an error related to GameScene below. Am I missing a framework? Thanks for your help.
ld: warning: ignoring file /Users/Administrator/Documents/Software/libChartboost.a, missing required architecture arm64 in file /Users/Administrator/Documents/Software/libChartboost.a (3 slices)
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_GameScene", referenced from:
objc-class-ref in AlertLayer.o
objc-class-ref in GameLayer.o
objc-class-ref in levelpackMenuLayer.o
objc-class-ref in LevelSelectLayer.o
objc-class-ref in timetrialMenuLayer.o
objc-class-ref in IAPHelper.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Probably an old thread, but in such linker errors, following step works:
Link all the required frameworks along with Chartboost framework, such as Storekit, Webkit, AVFoundation, Foundation etc.
These are all the frameworks that are used by Chartboost framework to fetch and display ads in media formats (audio and video).
For latest details on how to fully integrate and what all frameworks are required, refer to this guide.

google admob undefined symbol for architecture armv7

i have replaced older version of admob 6.6.1 with latest admob library version 6.12.0 but i get this error although every thing is fine. I am using xcode 6.0.1, how to resolve this issue, any help?
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_EKEvent", referenced from:
objc-class-ref in libGoogleAdMobAds.a(GADOpener.o)
"_OBJC_CLASS_$_EKEventEditViewController", referenced from:
objc-class-ref in libGoogleAdMobAds.a(GADOpener.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I had same issue but i solved by adding eventKit and eventUIKit framework into my project. Hope it will work for you too.
This error is mostly because update of your ADMOB SDK.
1) Go to build phases->Open list of frameworks.
2) Locate libGoogleAdMobAds.a. Remove this file by pressing - sign.
3) Again add this libGoogleAdMobAds.a file back by pressing + sign and selecting "Add other". select this file from ADMOB folder of your project.
4) Clean, then build and run your project.
Also, check you have -ObjC set to Other Linker Flags in your project's target build settings and required frameworks are added.
add Framework EventKit and EventKitUI.

Architecture issue in iOS

I'm using Reachability on my project to get the type of connection used, but an error has ocurred.
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_Reachability", referenced from:
objc-class-ref in ContributionViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I don't know what to do... my project is for iOS 4.3 and I've never had this kind of problem before.
Thx
Did you include the reachability framework in your projects linked libraries ? You can confirm by clicking on your project file on the file list and checking the build phases tab. It should be listed in the linked library section,

Resources