【问题标题】:IOS Undefined symbols for architecture x86_64IOS 架构 x86_64 的未定义符号
【发布时间】:2015-12-04 11:22:56
【问题描述】:

我尝试通过通常的拖放将 AFNetworking 2.0 框架放入 iOS。然后当我执行应用程序时,它会显示以下错误:

架构 x86_64 的未定义符号:
“_OBJC_CLASS_$_AFHTTPRequestOperation”,引用自: TableViewController.o "_OBJC_CLASS_$_AFJSONResponseSerializer" 中的 objc-class-ref,引用自: TableViewController.o ld 中的 objc-class-ref:未找到架构 x86_64 的符号 clang:错误:链接器命令失败并退出 代码 1(使用 -v 查看调用)

请告诉我如何解决此问题。 我尝试使用 cocoapods,但由于某种原因,我无法在我的机器上安装 cocoapods。

【问题讨论】:

  • 看起来您使用的是 Mac 框架。 iOS 1 是用手臂符号编译的
  • @jeef...AFNetworking 2.0 没有单独的框架。
  • 那么这就是你的问题:)

标签: ios objective-c afnetworking cocoapods afnetworking-2


【解决方案1】:

我花了几个小时来解决这个完全相同的问题,浏览了我能找到的所有 Google 点击。为设备构建工作正常,但为模拟器构建工作却没有。

以下是最终为我解决问题的步骤:

  1. 清除 XCode 缓存:

    rm -rf ~/Library/Developer/Xcode/DerivedData/
    
  2. 清除 CocoaPods 缓存并重新安装依赖项:

    rm -rf "${HOME}/Library/Caches/CocoaPods"
    rm -rf "`pwd`/Pods/"
    pod update
    
  3. 最后进入“Pods”项目并将Build Active Architectures Only设置为No,同样用于“Debug”配置。

【讨论】:

    【解决方案2】:

    我使用 xCode 6.1.1,下载并添加到项目更新的 AFNetworking 并遇到同样的问题,但旧版本的 AFNetworking 运行良好。 检查这两种方式,为我工作: 1) 更新 xCode

    2) 下载旧版AFNetworking

    【讨论】:

    • 我只能在github上找到新版本
    【解决方案3】:

    这种奇怪的事情在 Xcode 11.4.1 更新后开始发生。您以前拥有的任何库、框架以及没有要编译到 iOS 模拟器(x86_64)的符号都可能显示这些错误... 一种解决方案是在您的机器中重新编译框架,添加所需的所有架构。我最近没有重新编译 AFNetworking,所以我不能一步一步地给你……但可能在 AFNetworking 存储库中,他们应该有一个 makefile 或配置脚本来处理那种事情。 祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-07
      • 2016-11-07
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 2014-08-07
      • 2012-07-20
      • 2015-06-18
      相关资源
      最近更新 更多