【问题标题】:Compiling error with local CocoaPods pod使用本地 CocoaPods pod 编译错误
【发布时间】:2014-06-07 00:32:12
【问题描述】:

我正在编写一个应用程序,它通过 CocoaPods 使用外部库,例如 AFNetworking、ReactiveCocoa 等,以及我之前编写的一个静态库。静态库还包含一些来自 CocoaPods 的外部库。

我已将我的静态库设为 CocoaPods 的本地 pod,并将其作为我的 pod 之一导入。

但是,在编译我的新应用时,发生了错误。

Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_YADAClientManager", referenced from:
  objc-class-ref in DZPAppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

YADAClientManager 是我的静态库的一类,在我的新应用程序中使用它的唯一代码是在 DZPAppDelegate.m 中的 application:didFinishLaunchingWithOptions:

[YADAClientManager sharedClientManager];

如何解决这个编译错误?并提前致谢。

编辑:

在我的应用目标的 Build Phrase 中,Link Binary With Libraries 选项中,我添加了我的静态库的 *.a 文件,例如 libPods-MyApp-MyStaticLibrary.a,上面的问题解决了,但又出现了一个报告缺少AFNetworkingReactiveCocoa 符号的问题。

在我添加了这些库的 *.a 文件后,问题就解决了。

但我不认为这是解决问题的优雅方式。

【问题讨论】:

  • 你是从工作区编译项目吗?
  • @BryanChen 我使用了 CocoaPods 提供的 xcworkspace 文件,然后编译了我的应用程序,所以我想我是从工作空间编译项目的。
  • 我也遇到了同样的问题,你找到答案了吗?
  • @jAckOdE 我删除了 Link Binary With Libraries 下的所有 libPods-*.a 文件,并一一添加了我需要的 libPods-*.a 文件并解决了问题.

标签: ios xcode5 cocoapods


【解决方案1】:

我遇到了类似的问题: Modified Pod not getting compiled

我设法发现我的 Pod 的源文件和静态库 (.a) 缓存在此路径中:

/Users/''/Library/Developer/Xcode/DerivedData/Example-gdaxkniovwphxbdlndbmlfqn/Build/Products/Debug-iphoneos

您的 Target 中也提到了此路径:“构建设置”>“搜索路径”>“框架搜索路径”。
我删除了这些缓存文件,并使用新符号重新构建了我的 Pod。我花了 2 天时间调试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-16
    • 2020-01-17
    • 2019-04-09
    • 2013-05-21
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    相关资源
    最近更新 更多