Linker errors (undefined symbols) with Parse.framework - ios

I added Parse.framework to my project. In AppDelegate.m, I just import it and set the application ID. It seemed OK, but when I run it, I get 4 errors.
What other frameworks should I add, or what else should I do ?
Here are the frameworks I added:
AudioToolbox.framework
CFNetwork.framework
CoreGraphics.framework
CoreLocation.framework
MobileCoreServices.framework
QuartzCore.framework
Security.framework
StoreKit.framework
SystemConfiguration.framework
libz.dylib
libsqlite3.dylib
Parse.framework
And here are the errors I am getting:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_BFExecutor", referenced from:
objc-class-ref in Parse(Parse.o)//And other six
"_OBJC_CLASS_$_BFTask", referenced from:
objc-class-ref in Parse(Parse.o)//And other six
"_OBJC_CLASS_$_BFTaskCompletionSource", referenced from:
objc-class-ref in Parse(PFOfflineStore.o)//And other six
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

You must also add the Bolts.framework that comes with the Parse SDK as described in Step 2 on the quick start page:
https://www.parse.com/apps/quickstart#parse_data/mobile/ios/native/existing.
And ensure it gets listed under "Build Phases -> Link Binary with Libraries."

EDIT
Undefined symbols for architecture i386: _OBJC_CLASS_$_SKPSMTPMessage", referenced from: error
Found this.
This usually happens when you have multiple classes with same name in your. You might have included a file more then once.
Also check if you have by any chance imported .m file into some file.

Related

iOS: Undefined symbols for architecture i386

I'm trying to implement ios-oauthconsumer
but I'm getting this error:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_OAMutableURLRequest", referenced from:
objc-class-ref in ViewController.o
"_OBJC_CLASS_$_OAConsumer", 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)
I tried to add the files following this solution but Xcode re-adds the file to the project. For example:
Any of you knows a way were I can add the files to the "Compile Sources" without having to re-add the file?
I'll really appreciated you help.
Make sure that each source file that needs to be linked is part of the Compile Sources section of your target. You can verify this by selecting your project in Navigator pane (as shown in your screenshot) and expanding the section shown here:
Xcode Compile Sources
You can also verify this by selecting the files and viewing their target membership in the Utilities pane in xcode.
Target Membership

Admob error compiling in swift

I have followed all the steps here manually and with pods and yet I always have a similar issue, an error like this one:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_SFSafariViewController", referenced from:
objc-class-ref in GoogleMobileAds(flat-x86_64)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I added all of the frameworks manually:
AdSupport.framework
AudioToolbox.framework
AVFoundation.framework
CoreGraphics.framework
CoreTelephony.framework
EventKit.framework
EventKitUI.framework
MessageUI.framework
StoreKit.framework
SystemConfiguration.framework
including safariservices and corebluetooth
How can I solve this error?
YES problem solved when i update XCODE to the last version

Apptentive: `Undefined symbols for architecture...` error in Cordova project

I'm trying to use Apptentive in Cordova project. While building my Xcode project I'm getting error:
Undefined symbols for architecture arm64:
"_CGImageSourceCreateWithURL", referenced from:
-[ATFileAttachment createThumbnailOfSize:] in libApptentiveConnect.a(ATFileAttachment.o)
"_kCGImageSourceCreateThumbnailWithTransform", referenced from:
-[ATFileAttachment createThumbnailOfSize:] in libApptentiveConnect.a(ATFileAttachment.o)
"_kCGImageSourceThumbnailMaxPixelSize", referenced from:
-[ATFileAttachment createThumbnailOfSize:] in libApptentiveConnect.a(ATFileAttachment.o)
"_OBJC_CLASS_$_QLPreviewController", referenced from:
objc-class-ref in libApptentiveConnect.a(ATAttachmentController.o)
objc-class-ref in libApptentiveConnect.a(ATMessageCenterViewController.o)
"_kCGImageSourceCreateThumbnailFromImageAlways", referenced from:
-[ATFileAttachment createThumbnailOfSize:] in libApptentiveConnect.a(ATFileAttachment.o)
"_CGImageSourceCreateThumbnailAtIndex", referenced from:
-[ATFileAttachment createThumbnailOfSize:] in libApptentiveConnect.a(ATFileAttachment.o)
"_CGImageSourceCopyTypeIdentifiers", referenced from:
___50+[ATFileAttachment canCreateThumbnailForMIMEType:]_block_invoke in libApptentiveConnect.a(ATFileAttachment.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
There is a similar question on StackOverflow, but the solution didn't work for me :/
Looks like I have all the required dependencies, also I've added -lApptentiveConnect flag for linker.
Frameworks
It looks like there are some required system frameworks that aren't being linked automatically.
You need to link against AVFoundation, CoreData, CoreGraphics, Foundation, ImageIO, MobileCoreServices, QuartzCore, SystemConfiguration, UIKit and weak link StoreKit and CoreTelephony.
Step by step:
Select your project in the project navigator in Xcode.
Select your target from the list of targets.
Select the Build Phases tab.
Expand the Link Binary with Libraries group.
Click the + Button and select the aforementioned frameworks (including the two weak-linked ones). You can ⌘-click to select more than one.
When you're back at the list of libraries, select "Optional" for the two weak-linked frameworks.
You should then be able to build and run successfully.

Undefined symbols for architecture x86_64: "_sqlite3_close", referenced

I'm new to objective-c and am getting this error when I add from sqlite3 calls in xcode. Any one know what I can do to fix this error?
Undefined symbols for architecture x86_64:
"_sqlite3_close", referenced from:
-[InAppUtils get:] in libInAppUtils.a(InAppUtils.o)
"_sqlite3_exec", referenced from:
-[InAppUtils get:] in libInAppUtils.a(InAppUtils.o)
"_sqlite3_open", referenced from:
-[InAppUtils get:] in libInAppUtils.a(InAppUtils.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I tried adding the libsqlite3.dylib library but I can't find it on my system. Is it required? If so, how do I find it?
It looks like libsqlite3.tbd is the new libsqlite3.dylib. I added it and everything worked.
Go to the Build Phases tab. Expand the "Link Binary with Libraries" section. Click on the + icon. Search for "sqlite". Add the library

Google map framework error

I have added google map framework but I have got following error
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_GMSMutablePath", referenced from:
objc-class-ref in ViewController+ProjSwizzles.o
"_OBJC_CLASS_$_GMSPolygon", referenced from:
l_OBJC_$_CATEGORY_GMSPolygon_$_ZSwizzles in GMSPolygon+ZSwizzles.o
objc-class-ref in ViewController+ProjSwizzles.o
"_OBJC_CLASS_$_GMSMapView", referenced from:
l_OBJC_$_CATEGORY_GMSMapView_$_Swizzles in GMSMapView+Swizzles.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
please check your Frameworks
AVFoundation.framework
CoreData.framework
CoreLocation.framework
CoreText.framework
GLKit.framework
ImageIO.framework
libc++.dylib
libicucore.dylib
libz.dylib
OpenGLES.framework
QuartzCore.framework
SystemConfiguration.framework

Resources