Parse.com SDK v1.2.20 won't compile for ARM64bit architecture
-
23-12-2019 - |
Question
I followed the quick start tutorial and solved issues with the Facebook SDK being required (Even though I'm not using Facebook), but for some reason even though I'm using a version of the Parse SDK that should be compatible for 64bit architectures I am receiving errors stating that it can't compile for my iPhone 5S's 64bit architecture...
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_PFAnalytics", referenced from:
objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_Parse", 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)
The code it crashes on is when I just set up the Parse object and analytics:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[Parse setApplicationId:@"MyAppID"
clientKey:@"MyClientID"];
[PFAnalytics trackAppOpenedWithLaunchOptions:launchOptions];
return YES;
}
My Other Linker Flags
includes -ObjC
and my Standard Architectures
& Valid Architectures
both include arm64
, armv7s
, & armv7
Solution 2
The solution was to remove the -ObjC
linker flag and the Facebook SDK. This lead to an error with another 3rd party framework I was using which required the -ObjC
linker flag, but @Fosco suggested I force load the framework I needed using the -force_load path/to/framework
flag which solved all my problems.
OTHER TIPS
You did not imported all the frameworks that is needed to use the Parse SDK.
**AudioToolbox.framework
CFNetwork.framework
CoreGraphics.framework
CoreLocation.framework
libz.dylib
MobileCoreServices.framework
QuartzCore.framework
Security.framework
StoreKit.framework
SystemConfiguration.framework**
And you need to make sure that you market the COPY option when moved the PARSE SDK into your framework
Adding Bolts.framework that comes with Parse frameworks to the project solved the problem for me. Hope this helps