Xcode 7库搜索路径警告

问题描述 投票:116回答:4

这是它显示的警告:

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

任何人都可以帮助解决警告吗?

xcode xcode7
4个回答
223
投票

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

继我的Xcode项目的迁移,从Xcode 6.4到Xcode 7,我得到测试目标下面(编译后)的警告信息:

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/...',请删除那里的内容。


19
投票

根据错误消息,听起来第一个业务是使目标的路径理顺。您可以编辑路径,如this StackOverflow question的答案中所示。如果您不确定哪个目标产生了错误,请务必检查所有目标的路径 - 在将项目升级到Xcode 7 beta之后,这让我有点兴奋; FRAMEWORK_SEARCH_PATHS中有一个需要删除的测试目标的路径。那里的路径正是你报告的路径获得警告;删除路径消除它。


16
投票

King-Wizard基本上是正确的,详细说明 -

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. 在Project Navigator中单击您的项目
  2. 转到目标并单击MyProjectNameTest
  3. 单击构建设置并搜索“框架搜索路径”
  4. 在Framework Search Paths下,删除路径并保留“$(inherited)”。

enter image description here

对于那些有以下错误的人:

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

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

  1. 点击你的项目(目标)
  2. 单击构建设置,搜索“库搜索路径”
  3. 在“库搜索路径”下,删除路径并保留“$(继承)”
© www.soinside.com 2019 - 2024. All rights reserved.