Search code examples
iosxcodelinker-errorsundefined-symbol

iPhone app Support 64Bit


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)

Solution

  • 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.