Undefined symbols for architecture i386 (RevMob) - ios

I tried deleting everything RevMob ads related in my app, i didn't know how to do it properly so i firstly deleted the framework than erased all the line of code related to RevMob but now i have this error that i can fix:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_RevMobAds", referenced from:
objc-class-ref in AppDelegate.o
I found people having the same problem (not with RevMob but similar framework) but they we're searching to add it to the project, i'm trying to REMOVE it.
If you could tell me what to remove in order that error, that would be awesome. Thanks!

In a file (probably called) AppDelegate.m, you are possibly including RevMob headers are using its objects. If not in that file, then in a file it includes.
This error means that you had the headers at compile time to use RevMob, but you don't have the framework or library at link time (or the framework or library doesn't have the implementation of the object you are trying to use in the simulator build)

Related

Xcode: Undefined symbols for architecture arm64:"_OBJC_CLASS_$_ATTrackingManager"

I'm exporting a project from Unity to IOS (Xcode), and when building I'm getting this error in Xcode. What should I do?
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_ATTrackingManager", referenced from:
objc-class-ref in libGameAnalytics.a(GADevice.o)
I'm not a "unity" guy, but from the looks of the error message you do not have a symbol included in your project by that name ... looks like it's trying to find the symbol from a static library named "libGameAnalytics" and looking for the GADevice object file (notice the "dot 'O'). If you are setting up a regular Xcode/iOS project then I'd recommend you use the corresponding "native" Swift/Objective-C Frameworks, static libraries, Cocoapods, or import source files.
Try making that replacement from Xcode's project file, and see if your error goes away ... it's at least a place to begin investigation, and might provide additional insight to the problem.

Testing out PDFTron / PDFNet - Symbol not found when adding libTools.a

I am having a problem with libTools.a when following the PDFTron BLOG article, step 2: getting-started-on-ios
Step 1, works. I have a working PDF viewer, but no controls other then paging and zooming.
When I add the libTools.a library (the one that came in the SDK, or the one I built using Tools.xcodeproj, I receive the following error for every platform I try (simulator, ipad2, iphone6 - architecture name changes for each):
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_DraggableCollectionViewFlowLayout", referenced from:
objc-class-ref in libTools.a(ThumbnailsViewController.o)
ld: symbol(s) not found for architecture x86_64
The sample code is working fine. So it's my implementation in our application.
The rest of the project's 3rd party frameworks are managed with CocoaPods.
There has got to be something simple I am overlooking... Ideas?
Judging by the error message, it sounds like you may need to add /Lib/src/PDFViewCtrlTools/ThirdParty/DraggableCollectionView into your project. This is required for the ThumbnailsViewController.
It seems it doesn't find class for the Simulator on 64bit platform.
You can try to modify setting in <your target>/Build settings/Architectures/only active arch and set it to NO (it is YES by default in Debug) to be sure all platforms are build, even in Debug mode.

Stripe integration error Xcode 6.2

To be specific i get this error when i build my project after adding the stripe framework.The project is for the iOS platform.
I have all the standard architectures added to my build settings namely
armv7,armv7s. This is the error logged,
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_STPAPIClient", referenced from:
objc-class-ref in PlaceOrderViewController.o
After this error came i added arm64 also. I got error from this class alone as i'm calling a method from STPAPIClient.h in the Stripe framework.I have tried everywhere on the internet including stack and found nothing that could solve the issue.Hope someone can provide insights as to why this is occurring.
Okay so the solution for me was to copy the entire stripe project, stripe.xcodeproj into my project. This would only bring that file so to bring all the classes in stripe project I copied the stripe workspace,stripe.xcworkspace into my project folder.
This solved all architecture related issues.

Undefined symbols upon bringing a static library into project

I have a static library that I've created. It's a universal library so it should be working on the iphone and the simulator. Just by bringing the library into the project it won't compile, I get about 21 linker errors. They're all like this:
"_OBJC_CLASS_$_NumberPad", referenced from:
objc-class-ref in libClipPOSLibrary.a(PCCIDEntryView.o)
I've included all the frameworks necessary in the project, but for some reason this library just isn't happy. Also, I'm sure the architecture of the library matches the architecture of the project, and I've even used the nm command to look at the library to see if all of the classes are referenced and they are.
Any help would be greatly appreciated. Thanks.
Your app doesn't need to know about NumberPad... it's your "libClipPOSLibrary.a". You should probably include / link the library that includes the NumberPad stuff (and the other missing symbols) against your "libClipPOSLibrary.a" when you build the .a file.

Trouble adding -ObjC flag to iOS project

I have an iOS project which includes the Parse library. It has been working fine.
Today, I needed to add the Google Conversion Tracking SDK to my project. The instructions for adding this SDK require that I change my project settings to include the -ObjC linker flag.
When I did this, I could no longer compile my project. The errors I receive are of the form "Undefined symbols for architecture x86_64", and in every case the source of the error is something in the Parse SDK. Here is one example of the 6 errors I'm getting:
Undefined symbols for architecture x86_64:
"_ACAccountTypeIdentifierTwitter", referenced from:
-[PF_Twitter getLocalTwitterAccountAsync] in Parse(PF_Twitter.o)
I've never had to use the -ObjC flag explicitly before. My understanding is that this flag tells the compiler to link every class that was compiled even if it isn't explicitly referenced in the source code. Other than producing a larger executable, I can't see how this would cause a problem.
Appreciate any solutions or ideas.
Thanks.
I recently had a similar issue (not with parse though).
Open PF_Twitter and see what frameworks are included in it's header and implementation files. Then go to your target's Build Phases and add those frameworks in "Link Binary With Libraries".
If this doesn't help, other alternatives are discussed under this stack overflow question--
Undefined symbols for architecture arm64 Parse
Thanks. Adding the Social framework fixed the problem for me.

Resources