I'm trying to connect my iOS app with parse.com and push notifications. A have added frameworks.
So, compilation fails on
Undefined symbols for architecture armv7:
"_SLServiceTypeTwitter", referenced from:
-[PF_Twitter getAccessTokenForReverseAuthAsync:localTwitterAccount:] in Parse(PF_Twitter.o)
-[PF_Twitter getLocalTwitterAccountAsync] in Parse(PF_Twitter.o)
"_OBJC_CLASS_$_SLComposeViewController", referenced from:
objc-class-ref in Parse(PF_Twitter.o)
"_OBJC_CLASS_$_SLRequest", referenced from:
objc-class-ref in Parse(PF_Twitter.o)
"_ACAccountTypeIdentifierTwitter", referenced from:
-[PF_Twitter getLocalTwitterAccountAsync] in Parse(PF_Twitter.o)
"_OBJC_CLASS_$_ACAccountStore", referenced from:
objc-class-ref in Parse(PF_Twitter.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
What is wrong?
If you want to use Twitter and Facebook login, you also have to add the Social.framework and the Accounts.framework.
Add these frameworks and you should be good to go, this is also mentioned in the documentation here.
Can you add the remaining frameworks from this image, it may solve your issue
Related
Our phonegap app builds fine for the iphone simulator but generates linker errors when building the app on an iphone. the only thing that changed was installing testflight and a test app.
We already removed testflight and the test app, but the linker errors remain.
Any ideas on how to fix this?
We're on xcode 6.2 and ordova 3.4.0
Errors:
ld: warning: ignoring file /Users/gusph/Library/Developer/Xcode/DerivedData/momitSHDApp-evgpydfzbrlcmzazjhmquxttnqnq/Build/Products/Debug-iphoneos/libCordova.a, file was built for archive which is not the architecture being linked (arm64): /Users/gusph/Library/Developer/Xcode/DerivedData/momitSHDApp-evgpydfzbrlcmzazjhmquxttnqnq/Build/Products/Debug-iphoneos/libCordova.a
Undefined symbols for architecture arm64:
"_CDVPageDidLoadNotification", referenced from:
-[CDVSplashScreen pluginInitialize] in CDVSplashScreen.o
"_OBJC_CLASS_$_CDVWebViewDelegate", referenced from:
objc-class-ref in CDVInAppBrowser.o
"_OBJC_CLASS_$_CDVInvokedUrlCommand", referenced from:
objc-class-ref in CDVFile.o
"_CDVLocalNotification", referenced from:
-[AppDelegate application:didReceiveLocalNotification:] in AppDelegate.o
"_OBJC_CLASS_$_CDVViewController", referenced from:
_OBJC_CLASS_$_MainViewController in MainViewController.o
objc-class-ref in CDVDevice.o
objc-class-ref in CDVFile.o
"_OBJC_METACLASS_$_CDVCommandDelegateImpl", referenced from:
_OBJC_METACLASS_$_MainCommandDelegate in MainViewController.o
"_OBJC_CLASS_$_CDVUserAgentUtil", referenced from:
objc-class-ref in CDVInAppBrowser.o
"_OBJC_CLASS_$_CDVCommandQueue", referenced from:
_OBJC_CLASS_$_MainCommandQueue in MainViewController.o
"_OBJC_CLASS_$_CDVPlugin", referenced from:
_OBJC_CLASS_$_NotificationsNode in NotificationsNode.o
_OBJC_CLASS_$_CDVConnection in CDVConnection.o
_OBJC_CLASS_$_CDVCamera in CDVCamera.o
_OBJC_CLASS_$_CDVBattery in CDVBattery.o
_OBJC_CLASS_$_CDVLogger in CDVLogger.o
_OBJC_CLASS_$_CDVContacts in CDVContacts.o
_OBJC_CLASS_$_CDVDevice in CDVDevice.o
...
"_OBJC_METACLASS_$_CDVViewController", referenced from:
_OBJC_METACLASS_$_MainViewController in MainViewController.o
"_OBJC_METACLASS_$_CDVCommandQueue", referenced from:
_OBJC_METACLASS_$_MainCommandQueue in MainViewController.o
"_CDVPluginHandleOpenURLNotification", referenced from:
-[AppDelegate application:handleOpenURL:] in AppDelegate.o
-[CDVInAppBrowser openInSystem:] in CDVInAppBrowser.o
"_OBJC_CLASS_$_CDVCommandDelegateImpl", referenced from:
_OBJC_CLASS_$_MainCommandDelegate in MainViewController.o
"_OBJC_CLASS_$_CDVPluginResult", referenced from:
objc-class-ref in NotificationsNode.o
objc-class-ref in CDVConnection.o
objc-class-ref in CDVCamera.o
objc-class-ref in CDVBattery.o
objc-class-ref in CDVContacts.o
objc-class-ref in CDVDevice.o
objc-class-ref in CDVAccelerometer.o
...
"_OBJC_METACLASS_$_CDVPlugin", referenced from:
_OBJC_METACLASS_$_NotificationsNode in NotificationsNode.o
_OBJC_METACLASS_$_CDVConnection in CDVConnection.o
_OBJC_METACLASS_$_CDVCamera in CDVCamera.o
_OBJC_METACLASS_$_CDVBattery in CDVBattery.o
_OBJC_METACLASS_$_CDVLogger in CDVLogger.o
_OBJC_METACLASS_$_CDVContacts in CDVContacts.o
_OBJC_METACLASS_$_CDVDevice in CDVDevice.o
...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
This linker error message is the key:
.../libCordova.a, file was built for archive which is not the architecture being linked (arm64)
Static and dynamic libraries under OSX and iOS are fat in that they can hold code for multiple CPU architectures. That library doesn't have the arm64 architecture and therefore cannot be used.
The solution is to get a version that does support arm64. If you are building that library then you are not including the CPU architecture when building it.
From this link:
This means that starting at that time, Cordova-based apps
should be built using a version of Cordova that has 64-bit iOS support.
The first version of Cordova to include 64-bit for iOS is 3.4.1.
Therefore, to meet these requirements of the Apple App Store, you should be
using at least version 3.4.1 of Cordova before this February deadline.
Make sure you are using a version of Cordova that has the 64bit architecture built in. You appear to be currently using one without (an old version).
remove arm64 from Valid Architectures of CordovaLib Targets,
Also set 'NO' to Build Active Architecture Only,
Make same settings to Main app.
I'm trying to add PayPal into my iOS application that uses Parse.
After following the official PayPal guide on GitHub I'm getting this error:
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_SLComposeViewController", referenced from:
objc-class-ref in Parse(PF_Twitter.o) "_OBJC_CLASS_$_SLRequest", referenced from:
objc-class-ref in Parse(PF_Twitter.o) "_SLServiceTypeTwitter", referenced from:
-[PF_Twitter getAccessTokenForReverseAuthAsync:localTwitterAccount:] in
Parse(PF_Twitter.o)
-[PF_Twitter getLocalTwitterAccountAsync] in Parse(PF_Twitter.o) ld: symbol(s) not found for architecture arm64 clang: error: linker
command failed with exit code 1 (use -v to see invocation)
Any Ideas?
Add Framework Social.framework and Accounts.framework from project settings.
Please check parse.com integration Help Links
My app that I am making requires Parse framework, but when I import Parse framework into my app, I get many errors that say the following in Apple Mach-O Linker error:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_BFExecutor", referenced from:
objc-class-ref in Parse(BFTask+Private.o)
l_OBJC_$_CATEGORY_BFExecutor_$_Background in Parse(BFTask+Private.o)
"_OBJC_CLASS_$_BFTask", referenced from:
objc-class-ref in Parse(PFObject.o)
objc-class-ref in Parse(PFQuery.o)
objc-class-ref in Parse(PFCachedCommandRunner.o)
objc-class-ref in Parse(PFFile.o)
objc-class-ref in Parse(PFNetworkCommandRunner.o)
objc-class-ref in Parse(PFRetryingCommandRunner.o)
objc-class-ref in Parse(PFTaskQueue.o)
...
"_OBJC_CLASS_$_BFTaskCompletionSource", referenced from:
objc-class-ref in Parse(PFObject.o)
objc-class-ref in Parse(PFCommandCache.o)
objc-class-ref in Parse(PFNetworkCommandRunner.o)
objc-class-ref in Parse(PFTaskHTTPRequestOperation.o)
objc-class-ref in Parse(BFTask+Private.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
If you know how to fix this, and make the app able to build, please let me know.
Make sure that you have the bolts.framework in your app
I am new to iOS and Parse and have successfully utilized the service for one of my current apps. However, I have started a second app and when I go to connect the app to parse (using application ID and client key) I am getting 4 errors. They read as:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_BFExecutor", referenced from:
objc-class-ref in Parse(BFTask+Private.o)
l_OBJC_$_CATEGORY_BFExecutor_$_Background in Parse(BFTask+Private.o)
"_OBJC_CLASS_$_BFTask", referenced from:
objc-class-ref in Parse(PFUser.o)
objc-class-ref in Parse(PFFile.o)
objc-class-ref in Parse(PFNetworkCommandRunner.o)
objc-class-ref in Parse(PFObject.o)
objc-class-ref in Parse(PFPush.o)
objc-class-ref in Parse(PFRetryingCommandRunner.o)
l_OBJC_$_CATEGORY_BFTask_$_Private in Parse(BFTask+Private.o)
...
"_OBJC_CLASS_$_BFTaskCompletionSource", referenced from:
objc-class-ref in Parse(PFCommandCache.o)
objc-class-ref in Parse(PFFile.o)
objc-class-ref in Parse(PFNetworkCommandRunner.o)
objc-class-ref in Parse(PFObject.o)
objc-class-ref in Parse(BFTask+Private.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
You forgot to add Bolts.framework . Please add it. All the errors shall be fixed after that.
I am trying to archive my First iOS Project and I get the following errors. It seems like there is something bugged with the Facebook SDK and Google Plus SDK which i have used for Authentication. I have come across similar questions on stackoverflow but none's solutions helped me. Any help would be appreciated. Thanks in advance.
<pre>
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_FBRequest", referenced from:
objc-class-ref in LoginViewController.o
"_OBJC_CLASS_$_GTMLogger", referenced from:
objc-class-ref in LoginViewController.o
"_OBJC_CLASS_$_GTLQueryPlus", referenced from:
objc-class-ref in LoginViewController.o
"_kGTLAuthScopePlusLogin", referenced from:
-[LoginViewController getInfoForGoogle] in LoginViewController.o
"_OBJC_CLASS_$_GTLServicePlus", referenced from:
objc-class-ref in LoginViewController.o
"_OBJC_CLASS_$_GPPURLHandler", referenced from:
objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_GPPSignIn", referenced from:
objc-class-ref in LoginViewController.o
"_OBJC_CLASS_$_FBSession", referenced from:
objc-class-ref in AppDelegate.o
objc-class-ref in LoginViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
</pre>
The framework you are using is not arm64 ready, ie not for 64bit devices, you can either check if an updated framework is available, or exclude arm64 that from your build
Set the architecture in build settings to Standard architectures(armv7,armv7s)
Xcode 5 and iOS 7: Architecture and Valid architectures