【问题标题】:iPhone app Support 64BitiPhone 应用程序支持 64 位
【发布时间】:2015-01-26 21:04:34
【问题描述】:

我将arm64 添加到我的应用程序中:

Architecture
Valid Architecture

当我构建应用程序时,我得到了这个错误日志:

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)

知道可能是什么问题吗?

编辑:


我更新了googleadmob 库和facebookSdk,但其他框架已经支持 64 位,我收到此错误消息:

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)

【问题讨论】:

  • 您导入的第三方库和框架不支持 arm64。升级它们。
  • @IanMacDonald 你能看看我的编辑吗
  • 只需阅读该死的错误消息。广告支持是问题所在。 - 另请参阅此答案:stackoverflow.com/a/12628989/341994

标签: ios xcode linker-errors undefined-symbol


【解决方案1】:

错误信息非常清楚。这些符号不是为该架构定义的。您需要对这些库中的每一个进行新构建 - 具有 64 位切片的构建。

【讨论】:

  • 确保它现在使用正确的库,你的项目中是否同时拥有 32 和 64?
【解决方案2】:

您是否尝试过按住选项键并执行 Product -> Clean Build Folder?这将吹走任何在生成它们时不知道您的 arm64 编译目标的预编译头文件。尝试一下,然后重新构建。

【讨论】:

    猜你喜欢
    • 2014-10-23
    • 1970-01-01
    • 2015-06-11
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 2017-10-09
    相关资源
    最近更新 更多