XCode linker error after migrating to Cocoa Pods - ios

The problem
I'm pretty new when it comes to iOS development and XCode, so please comment and let me know if any details are missing from the question.
We have migrated an SDK from downloadable archive files to Cocoa Pods. One of our partners tried using our Pod, but the XCode linker gave the following error:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_TAGContainerOpener", referenced from:
objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_TAGManager", referenced from:
objc-class-ref in AppDelegate.o
objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The Pod file in the project is:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.1'
target 'Demo' do
pod 'GoogleAppIndexing'
pod 'GoogleMaps'
pod 'OurPod', :git => 'https://github.com/AcmeCorp/OurPod.git'
end
target 'DemoTests' do
end
Other settings
We are opening the xcworkspace file (not the xcode.proj file).
What have I tried
I have tried to search the error but found nothing relevant.
Any idea what should I be looking for?
Thanks in advance!

Met with the same problem while trying to add Google Tag Manager and GoogleAnalytics to my app
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_TAGContainerOpener", referenced from:
objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_TAGManager", referenced from:
objc-class-ref in ViewController.o
objc-class-ref in AppDelegate.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 think you have missed some library.
Try adding libGoogleAnalyticsServices.a to your project.
This had fixed my compilation error

Related

Error on build my app in xcode..shows an symbol(s) not found for architecture x86_64

when i try to build ios...
xcode shows an error as
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_FIRComponent", referenced from:
objc-class-ref in FirebaseAuth(FIRAuth.o)
"_OBJC_CLASS_$_FIRComponentType", referenced from:
objc-class-ref in FirebaseAuth(FIRAuth.o)
"_OBJC_CLASS_$_FIRComponentContainer", referenced from:
objc-class-ref in FirebaseAuth(FIRAuth.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
this is an ionic project..for ios build through xcode
Looks like you are missing the Firebase core library. Make sure you have this in your Podfile:
pod 'Firebase/Core'
Follow the instructions here.
The FIRComponent symbol was introduced in the Firebase 5.5.0 release
with a definition in the FirebaseCore pod and reference in the
FirebaseAuth pod.
Make sure you have at least version 5.1.0 of the FirebaseCore pod
installed.

Podfile error: Undefined Symbols for Architecture arm64

I updated my cocoapods version to 1.0 and am now getting a slew of errors regarding architecture. This is what my errors look like:
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_Reachability", referenced from:
objc-class-ref in ReachabilityManager.o
(maybe you meant: _OBJC_CLASS_$_ReachabilityManager)
"_OBJC_CLASS_$_PBJVision", referenced from:
objc-class-ref in NewSpinViewController.o
"_PBJVisionPhotoImageKey", referenced from:
-[NewSpinViewController vision:capturedPhoto:error:] in NewSpinViewController.o
"_kReachabilityChangedNotification", referenced from:
-[NoInternetViewController viewDidLoad] in NoInternetViewController.o
"_PBJVisionPhotoThumbnailKey", referenced from:
-[NewSpinViewController vision:capturedPhoto:error:] in NewSpinViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I've spent hours trying to fix this by toggling settlings under build settings but nothing is working for me.
This is what I currently have for my Architectures
Anyone have any ideas?
Try this: delete derived data and compile again. Sometimes the pod libraries simply don't get compiled even you cleaned the project, this happened to me when I updated to cocoapods 1.0.1.

Stuck at integrating worldpay using cocoapods

I am integrating worldpay using cocoapods into my project but am getting these errors:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_AFHTTPRequestOperation", referenced from:
objc-class-ref in libWorldpay.a(Worldpay.o)
objc-class-ref in libWorldpay.a(ThreeDSController.o)
objc-class-ref in libWorldpay.a(APMController.o) "_OBJC_CLASS_$_AFHTTPRequestOperationManager", referenced from:
objc-class-ref in libWorldpay.a(WorldpayUtils.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed
with exit code 1 (use -v to see invocation)
Would anyone help me solve this issue?
Thanks.
_AFHTTPRequestOperation and _AFHTTPRequestOperationManager are AFNetworking classes. I think you may also need to add the AFNetworking pod.
platform :ios, '7.0'
pod "AFNetworking", "~> 2.0"
Need to add to implement this effectively since worldpay is dependent on AFNetworking
https://github.com/Worldpay/worldpay-lib-ios

GoogleMaps for iOS Linker Error

While building the Application i am getting the following error i have searched a lot but i am unable to figure out what is the problem.
ld: warning: ignoring file /Users/username/GoogleMaps/GoogleMaps.framework/GoogleMaps, missing required architecture arm64 in file /Users/username/GoogleMaps/GoogleMaps.framework/GoogleMaps (2 slices)
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_GMSPolyline", referenced from:
objc-class-ref in GPSController.o
"_OBJC_CLASS_$_GMSCameraPosition", referenced from:
objc-class-ref in GPSController.o
"_OBJC_CLASS_$_GMSMutablePath", referenced from:
objc-class-ref in GPSController.o
"_OBJC_CLASS_$_GMSMarker", referenced from:
objc-class-ref in GPSController.o
"_OBJC_CLASS_$_GMSMapView", referenced from:
objc-class-ref in GPSController.o
"_OBJC_CLASS_$_GMSServices", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I am using GoolgeMaps SDK 1.4.3
PS:- I am relatively new to iOS programming so please avoid any blunders.
Adding value $(inherited) to BuildSettings->Linking->Other Linker Flags of your target
If you are developing an SDK/framework/POD you should do the same as above but under target name PROJECTNAME_tests.
Should fix the issue.
I had this problem too, and my solution was to add the frameworks to
Target -> Build Phases -> Link Binary With Libraries
ok I figured out the Problem
My Library was not built for 64-bit but i was trying to use that settings for my app, after i removed arm64 from architecture i successfully build the application.

GData iPhone Archive Error

Following the instructions here: http://hoishing.wordpress.com/2011/08/23/gdata-objective-c-client-setup-in-xcode-4/
I added GData to my iOS 5 project. When it's time to archive the project I get the following error:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_GDataServiceGoogleYouTube", referenced from:
objc-class-ref in DataManager.o
"_OBJC_CLASS_$_GDataEntryYouTubeVideo", referenced from:
objc-class-ref in DataManager.o
objc-class-ref in ListController.o
objc-class-ref in ShareController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I've checked the build settings for the GData.xcodeproj -> GDataTouchStaticLib, and this is what I set them to as seen by this pic: )
Any help is appreciated, to help get my project archived.
You haven't linked the libraries properly. Make sure you follow the directions carefully when it comes to adding the library paths. See Undefined symbols for architecture armv7 for more information.

Resources