-1

I add arm64 to my app:

Architecture
Valid Architecture

And when i build the application i get this error log:

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_FBRequest", referenced from:
      objc-class-ref in DEFacebookComposeViewController.o
  "_kGADAdSizeBanner", referenced from:
      ...
  "_OBJC_CLASS_$_FBRequestConnection", referenced from:
      ...
  "_OBJC_CLASS_$_ASIdentifierManager", referenced from:
      objc-class-ref in libInMobi-4.5.1.a(IMCommonUtil+Private.o)
      objc-class-ref in VungleSDK(VungleSDK.o)
      objc-class-ref in MobFox(MobFox)
      objc-class-ref in iSoma(SOMAAdRequestBuilder.o)
      objc-class-ref in libAppLovinSdk.a(ALDataCollector.o)
      objc-class-ref in libAppLovinSdk.a(ALTaskFetchNextAd.o)
      objc-class-ref in libFlurryAds_6.0.0.a(libFlurryAds.a-arm64-master.o)
      ...
  "_CGSizeFromGADAdSize", referenced from:
      ...
  "_kGADAdSizeLeaderboard", referenced from:
      ...
  "_OBJC_CLASS_$_FBSession", referenced from:
      ...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Any idea what can be the problem?

Edit:


I update the googleadmob lib and facebookSdk but the other Framework already support the 64bit and i get this error msg:

d: warning: ignoring file /Users/App/AdSupport.framework/AdSupport, missing required architecture arm64 in file /Users/App/AdSupport.framework/AdSupport (2 slices)
Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_ASIdentifierManager", referenced from:
      objc-class-ref in libInMobi-4.5.1.a(IMCommonUtil+Private.o)
      objc-class-ref in VungleSDK(VungleSDK.o)
      objc-class-ref in libGoogleAdMobAds.a(GADDevice.o)
      objc-class-ref in libGoogleAdMobAds.a(GADGestureIdUtil.o)
      objc-class-ref in MobFox(MobFox)
      objc-class-ref in iSoma(SOMAAdRequestBuilder.o)
      objc-class-ref in libAppLovinSdk.a(ALDataCollector.o)
      ...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
YosiFZ
  • 7,792
  • 21
  • 114
  • 221

2 Answers2

3

The error messages are pretty clear. Those symbols are not defined for that architecture. You'll need a new build of every one of those libraries - a build that has a 64bit slice.

matt
  • 515,959
  • 87
  • 875
  • 1,141
0

Have you tried holding the option key and doing Product -> Clean Build Folder? This would blow away any precompiled headers that were not aware of your arm64 compile target at the time they were generated. Try that and then build again.

Nick
  • 2,361
  • 16
  • 27