XCode 6 CocoaPods错误:目标覆盖了`OTHER_LDFLAGS`构建设置。

14

我刚开始使用CocoaPods,在终端运行pod install时,遇到了以下错误(我的项目名为babyMilestones,尝试使用CocoaPods导入ShipLib框架):

babyMilestones [Release]目标重写了Pods/Target Support Files/Pods/Pods.release.xcconfig中定义的FRAMEWORK_SEARCH_PATHS构建设置。这可能导致CocoaPods安装出现问题。 - 使用$(inherited)标志,或 - 从目标中删除构建设置。

我在Header Search Paths和Framework Search Paths中都遇到了此错误。

当我尝试构建我的项目时,在#import行上会出现错误,提示找不到ShipLib/ShipLib.h文件。在我的项目导航器中,我的Pods项目显示正确,并且ShipLib框架可见。

我从未明确设置过任何这些搜索路径,我只是让XCode 6自己完成。我找到了这个答案:The target ... overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig

我尝试过以下操作:

  1. 在Build Settings中删除了所有的Framework Search Paths,但是问题仍未解决: enter image description here

  2. 然后我在Framework Search Path中添加了$(inherited),然后进行了清理和构建。这给出了以下新错误:

    ld: 警告: 找不到选项“-L/Users/billpaystation/Documents/iOS/babyMilestones/babyMilestones/Pods/build/Debug-iphoneos”的目录 ld: 警告: 找不到选项“-F”的目录 Undefined symbols for architecture i386: "_OBJC_CLASS_$_ActionSheetDatePicker", referenced from: objc-class-ref in EditItemViewController.o

"_OBJC_CLASS_$_SYSincerelyController"被引用,来自EditItemViewController.o中的objc-class-ref。ld:未找到架构i386的符号。clang:链接器命令失败,退出代码为1(使用-v查看调用)。
Action Sheet Picker和Sincerely Controller是我试图通过Pods添加的库。
我注意到在我的文件检查器下,libPods.a在Frameworks下显示为红色。因此,我转到Scheme->Edit Scheme->并将Pods添加到Build中。
我不太了解整个目标/构建设置,而且我可能尝试了很多不同的东西使情况变得更糟。任何帮助都将不胜感激!

1
你应该将$(inherited)添加到框架搜索路径中。在执行这一步骤后,你能告诉我们其他的错误吗?也许你需要额外添加一些内容。 - euthimis87
我更新了我的问题,并附上了链接器错误,如果我将$(inherited)添加到我的框架搜索路径中,就会收到这些错误。 - leenyburger
3个回答

11

你应该将 $(inherited) 添加到框架搜索路径中。对于新错误,你应该执行以下步骤:

目标设置->构建阶段->编译源代码->(+) ActionSheetDatePicker.m 和 SYSincerelyController.m 类,然后进行构建和运行。


3

3

在我的情况下,这不是Xcode的问题,我认为手动修复是一个坏主意。我尝试使用不同(早期版本)的Cocoapods,它工作得很好!

gem install cocoapods -v 0.33.1


我也遇到了同样的问题,不过我的错误是关于HEADER_SEARCH_PATHS。谢谢! - Brandon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接