34
4

10 回答 10

60

这是基于之前发布的Apple Dev Forum的如何避免问题的描述。它对我有用,所以我为那些不想去论坛注册的人重新发布描述。

该错误是由于 XCode 5 在处理用户向项目中添加新文件或文件夹时出现的错误。

Xcode 正在修改“库搜索路径”构建设置,并把它弄得一团糟。它不是添加 $(SRCROOT)/ 而是向所有新项目添加完全根路径,并将随机数量的 /// 添加到字符串的其他元素中。在某些情况下,它似乎也在复制源路径,可能是因为它破坏了现有路径,并且认为它们需要再次添加。

解决方案:

  1. 将您的库搜索路径字符串复制到文本编辑器中。
  2. 删除任何不应该存在的完全根路径,并将它们替换为通常的 $(SRCROOT)/MyFiles/ 类型路径。
  3. 删除所有多余的斜杠并确保每个路径的开头和结尾都有一个 " 字符,以防止文件名中出现空格。
  4. 将编辑后的字符串粘贴回构建设置。
  5. 清洁,然后构建。应该恢复正常。

如果您将新文件添加到项目中,此错误很可能会再次出现,因此请注意。

于 2013-11-07T08:52:01.950 回答
5

我的 project.pbxproj 看起来像这样:

LIBRARY_SEARCH_PATHS = (
        "$(inherited)",
        "\\\"$(SRCROOT)/AdMob-v6.4.1\\\"",
        "/MyProject/AdMob-v6.5.1",
); 

我关闭了 MyProject,删除了包含 的行AdMob-v6.4.1,重新打开了项目,执行了“验证项目设置”,清理并构建,现在一切都很好。

于 2013-11-01T04:37:44.500 回答
4

是的,Xcode 有时很笨拙。

您是否尝试过清理构建(Product > Clean Build Folder / Shift-Cmd-K)并重试?

您可以做的另一件事是搜索[project_name].xcodeproj/project.pbxproj中的两个条目,删除它们,关闭 XCode,重新打开,清理构建文件夹并重试。

祝你好运!

于 2013-10-02T22:10:05.917 回答
3

总结一下@user2963906 的建议,我展示了我对这个问题的解决方案,我认为这很容易。

我假设您的项目文件夹中有所有文件和库。

  1. 打开你的项目目标
  2. 查找搜索路径主题和库搜索路径
  3. 在此处选择并删除所有路径
  4. 然后像这样添加路径:$(SRCROOT)/"Your App Name"
  5. 在同一个窗口中将下拉列表从右边更改non-recursiverecursive
  6. Shift-⌘-K 并运行您的项目
于 2014-03-28T15:53:34.000 回答
2

我在 iOS 开发者论坛上找到了一个解决方案。Xcode 5 发生在我身上。请参阅Massive Linker Error Warnings (directory not found for option) yet。对我来说,这是由 Xcode 5 破坏了“库搜索路径”构建设置引起的。

于 2013-10-16T20:33:32.747 回答
1

我不得不用 \ 转义任何空格

例如:

/Users/Me/Folder\ with\空格\(和\括号\)

在图书馆搜索路径中

于 2014-11-05T16:26:33.567 回答
1

我遇到了同样的问题,但由于项目属性窗口中没有显示库文件夹,因此无法按照步骤修复它。

所以我用另一种方式解决了它(你需要能够使用终端和VIM编辑器。还要备份项目以防万一)

  1. 打开终端窗口
  2. 转到项目文件夹。
  3. XCode 项目是一个文件夹。使用 cd 项目名称进入该文件夹。
  4. 使用 vim 打开和编辑 project.pbxproj 文件。
  5. 通过使用 / 搜索并在该行上使用 dd 命令删除它来删除对违规行的引用。
  6. 使用 :wq 命令保存

在 XCode 中打开项目并构建。奇迹般有效。

于 2014-06-30T19:10:37.913 回答
1

简单的解决方案:

这对我有用

当您想通过 xcode 5 及更高版本向项目添加新文件或文件夹时,错误显示。只需按照以下简单步骤操作即可。(请不要忘记备份您的项目)。

  1. 在旧 XCode 中打开您的项目(我推荐 XCode 4.6.3)
  2. 添加您的文件或文件夹。(它不会像在 XCode 5 中那样弄乱你的库搜索路径)
  3. 关闭旧的 xcode 并使用 XCode 5 打开您的项目并开始编码。
于 2013-12-21T14:54:30.687 回答
0

这对我有用:

创建这个真实的目录(没有内容),将它们添加到项目中,通过删除引用删除,清理,真正删除

于 2013-12-19T17:44:38.770 回答
0

在项目文件夹 -> 目标中,在“构建设置”下搜索“库搜索路径”,然后简单地删除调试和发布区域中的先前路径。

现在使用 + 符号在行下方添加行

$(PROJECT_DIR)/库

注意:添加上述行后,从弹出窗口中单击。它会自动显示完整路径。如果在 $(PROJECT_DIR)/ 之后添加任何更正,请使用 Finder 检查此路径

Clean , Build and Run ... 很简单,它清除了那个错误。:)

-阿努普

于 2014-08-11T06:01:25.207 回答