Xcode 6 CocoaPods 错误:目标覆盖 `OTHER_LDFLAGS` 构建设置

问题描述 投票:0回答:3

我刚刚开始使用 CocoaPods,当我从终端安装 pod 时,出现以下错误(我的项目称为 BabyMilestones,我正在尝试将 CocoaPods 用于 ShipLib 框架)。 :

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

我在标题搜索路径和框架搜索路径中收到此错误。

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

我从未明确设置任何这些搜索路径,我只是让 Xcode 6 完成它的工作。我找到了这个答案

我尝试过以下方法:

  1. 删除了构建设置中的所有框架搜索路径。这并没有解决问题

enter image description here

  1. 然后我将 $(inherited) 添加到框架搜索路径。我先清理然后构建。这产生了以下类型的新错误:

ld:警告:找不到选项“-L/Users/billpaystation/Documents/iOS/babyMilestones/babyMilestones/Pods/build/Debug-iphoneos”的目录。
ld:警告:找不到选项“-F”的目录 ld:警告:找不到选项“-Fvalues>”的目录
i386 架构的未定义符号: “OBJC_CLASS$_ActionSheetDatePicker”,引用自: EditItemViewController.o 中的 objc-class-ref “OBJC_CLASS$_SYSincerelyController”,引用自: EditItemViewController.o 中的 objc-class-ref ld:未找到架构 i386 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

Action Sheet Picker 和Sincerely Controller 是我尝试使用Pod 添加的库。

  1. 我注意到文件检查器中的 Frameworks 下的 libPods.a 是红色的。所以我进入“方案”->“编辑方案”-> 并将 Pod 添加到构建中。

enter image description here

我不太了解整个目标/构建设置,并且尝试了很多不同的事情可能会让事情变得更糟。任何帮助将不胜感激!

ios objective-c xcode cocoapods
3个回答
11
投票

您应该将 $(inherited) 添加到框架搜索路径。对于新错误,您应该去:

TargetSettings->Build Phases->Compile Sources->(+) ActionSheetDatePicker.m 和 SYSincerelyController.m 类,然后构建并运行。


3
投票

这是我昨天遇到的问题和解决方案。

目标覆盖 FRAMEWORK_SEARCH_PATHS 构建设置

希望这有帮助。


3
投票

就我而言,这不是 Xcode 问题,而且我认为手动修复它是一个坏主意。我尝试使用不同的(早期版本)Cocoapods,效果很好!

gem install cocoapods -v 0.33.1

© www.soinside.com 2019 - 2024. All rights reserved.