我有两个通过Carthage安装的框架,位于${PROJECT_DIR}/Carthage/Build/
(默认的Carthage路径)。在我的应用程序目标中,我已将两个框架拖到嵌入式二进制文件部分,如文档中所述。现在无论我做什么,Xcode都抱怨它找不到这两个框架的头文件。我尝试过:
${PROJECT_DIR}/Carthage/Build/**
无效。 (WTF?)在Xcode 6和Xcode 7 beta 5中都尝试过。这是一个OS X目标,如果这会产生影响。
答案 0 :(得分:0)
我的标头搜索路径错了。正确的做法并没有帮助,但是进入框架搜索路径的正确途径。去图。
答案 1 :(得分:0)
由于Xcode的缺陷,它无法容纳目录名称中带有空格的搜索路径。这导致Xcode无法在搜索路径的末尾找到包含的框架。
示例:#import <C0re/C0re.h>
C0re是一个自定义框架,其中内置了多年的macOS开发知识(自1984年以来)。我想从中心位置将其用于我的所有项目:~/Development/Projects/Frameworks Library/
在~/Development/Projects/Frameworks Library/
中,我有:
Frameworks Library
到FrameWorksLibrary
)System Frameworks Search Paths
下的Build Settings
,以删除空格(对我来说FrameWorksLibrary
)并且没有任何源代码的编辑... 错误已消失:
注意:将%20代替空格不起作用(尝试咧开嘴笑
) 注意:(另一个相关的Xcode缺陷 ... Xcode变量更新...)
如果您使用的是用户定义的变量或Custom Paths
中Locations
下的Preferences
,则需要对在System Framework Search Paths
中创建的条目进行一些虚假编辑,以触发Xcode进入重新评估您在路径中使用的系统变量。否则,您可以整天更改Xcode系统变量,并且Xcode查找标头的能力不变。
而且,如果您的路途真的像我的路途漫长,那么您可能永远不会看到这条路没有改变...
要想踢个烂腿,如果您将Derived Data
文件夹命名为空格(与DerivedData
相比),并尝试直接进入它们以进行框架构建……是的, '将gitcha。
答案 2 :(得分:-1)
尝试删除并重新添加框架