ios - 使用本地 CocoaPods pod 编译错误

标签 ios xcode5 cocoapods

我正在编写一个应用程序,它通过 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文件后,问题就解决了。

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

最佳答案

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

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

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

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

关于ios - 使用本地 CocoaPods pod 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23222887/

相关文章:

ios - XCode 5 中的错误接收器类型 'void' 错误

app-store - 在 XCode 5 中上传到 App Store 时的专辑艺术家和专辑标题警告

ios - 删除删除引用时如何重新打开 ios 项目?

ios - ld : framework not found Pods

ios - Linea Pro 条码扫描器 iPhone 问题

ios - 如果用户安装了您的主应用程序,是否会自动安装 iOS 共享扩展?

ios - XCode Objective-C Apple Mach-O 链接器错误

ios - 如何增加 MDCTextInputControllerOutlinedTextArea 的高度

ios - 获取在 VNDetectTextRectanglesRequest 完成处理程序上的 VNImageRequestHandler 中使用的 cvPixelBuffer

ios - 检查是否打开了外部应用程序。 UI测试xcode