Xcode 7库搜索路径警告


117

这是显示的警告:

找不到选项'-F / Applications / Xcode-beta.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS9.0.sdk / Developer / Library / Frameworks的目录”

谁能帮助解决警告?


1
这个答案解决了我的错误: stackoverflow.com/questions/26665196/…–
fpr0001

@arwaz shaikh不要忘了将我的答案标记为正确的答案(如果您认为它是对问题的正确答案),它可以帮助人们通过Google或Stack Overflow更快地找到它。
King-Wizard

Answers:


225

这就是我解决这个问题的方法

在将我的Xcode项目从Xcode 6.4迁移到Xcode 7之后,我(在编译之后)得到以下针对Test target的警告消息:

directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks'

实际上,在比较新项目和旧项目时,我发现了一些东西。

在旧项目中,警告仅由我的项目的测试目标发出。在“搜索路径”下,我发现它在“框架搜索路径”下包括两个项目:

$(SDKROOT)/Developer/Library/Frameworks
$(inherited)

新项目将“框架搜索路径”保留为空。

在我的旧项目中删除这些条目,然后删除警告。

笔记:

我没有详尽地比较设置,因此可能会有其他差异。

另外,以防万一有一天您遇到以下两个警告消息之一,请记住您必须这样做:如果警告是针对“ '-L/...'库搜索路径”的选项,请删除其中的内容。但是,如果警告是针对“ '-F/...'框架搜索路径” 选项的,请在此删除内容。


2
以上是正确的。但是,如果您使用CocoaPods,我发现该条目也可能驻留在它创建的* .xcconfig文件中。解决方案相同:在这种情况下,从* .xcconfig文件的FRAMEWORK_SEARCH_PATHS行中将其删除。
ecotax 2015年

2
我遇到了完全相同的问题(-F / ...),并且已经删除了“框架搜索路径”中的内容,但是警告仍然出现。
Gabe12 2015年

4
清理并重新构建Xcode项目,警告消息应消失。
King-Wizard

1
我没有使用测试目标,最终不得不删除它才能构建它。
theLastNightTrain

King-Wizard的答案正确,但是更具体地说,您必须进入项目的“构建设置”>“搜索路径”>“框架搜索路径”
pyRabbit

19

根据错误消息,听起来第一件事就是理清目标的路径。您可以编辑路径,如关于StackOverflow问题的答案所示。如果不确定哪个目标会产生错误,请确保检查所有目标的路径-将项目升级到Xcode 7 beta后,这使我有些烦恼;FRAMEWORK_SEARCH_PATHS中有一个需要删除的测试目标路径。那里的路径正是您报告得到警告的路径。删除路径消除了它。


16

本质上来说,金巫师是正确的,再详细说明一下-

Xcode 7 XCtest.framework在不存在的路径中寻找测试框架。$(SDKROOT)/Developer/Library/Frameworks在“搜索路径->框架搜索路径”下设置的路径正在寻找/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/Developer/Library/Frameworks无效路径的框架。您可以删除该行$(SDKROOT)/Developer/Library/Frameworks以消除错误,并且仍然可以运行测试。

“ XCTest.framework”的正确路径适用于/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks好奇的人。

希望对您有所帮助。


1

我在Xcode 9.2中遇到了相同的错误,这是我的解决方案,而无需手动进行:

  1. 在项目浏览器中单击您的项目
  2. 转到目标并单击MyProjectNameTest
  3. 单击构建设置,然后搜索“ Framework搜索路径
  4. 在“ 框架搜索路径”下,删除路径并保留“ $(继承)”。

在此处输入图片说明

对于有以下错误的人:

找不到选项'-L /…的目录

这意味着这是一个库错误,因此您可以尝试按照以下步骤操作:

  1. 单击您的项目(目标)
  2. 单击构建设置,搜索“库搜索路径”
  3. 在“库搜索路径”下,删除路径并保留“ $(继承)”
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.