找不到用户标题路径
我有一个以前在Swift 2.2下的XCode 7中运行的项目。 但是,我开始将它迁移到Xcode 8和Swift 2.3(Swift 3将在稍后发布)。 这是我第一次迁移一个项目,所以我对很多概念都很陌生。
我不断收到以下错误:未找到'JBBarChartView.h'文件。
这就是我的项目的样子(出于隐私的原因,模糊了不重要的部分)
蓝色箭头指向桥接标题。 这是我的桥接头看起来像:
这在这里是我的实际文件夹结构。
重要的头文件(如JBBarChartView.h)位于供应商文件夹内。 出于某种奇怪的原因,Xcode根本无法找到这些文件,因此无法导入桥接头。
到目前为止,我所尝试的是:
无论我尝试什么,出于一些奇怪的原因,Xcode无法找到这些标题。 有人知道我可以尝试什么吗?
这../../${SRCROOT}
看起来不对 - 很可能你想要${SRCROOT}/../Vendor/
(或关闭)。
当你添加它时,它应该展开SRCROOT宏并显示正在生成的实际路径......这看起来是否正确?
例如,当我使用:
${SRCROOT}/../Vendor/
我得到:
/Users/DonMag/Source/TestProj/../Vendor/
这将把我正在寻找的供应商文件:
/Users/DonMag/Source/Vendor/
我的步骤来解决这个问题:
在您的项目中创建一个新的FindMe.h
文件。 将#define FOUNDIT 1
放入其中。 将#include "FindMe.h"
添加到AppDelegate.m
的顶部。
添加到didFinishLaunchingWithOptions:
#ifdef FOUNDIT
NSLog(@"Woo Hoo");
#endif
当然,这应该编译和运行没有问题。
接下来,从项目中删除对FindMe.h的引用,并将FindMe.h移动到一个文件夹级别。 尝试编译---你应该得到一个“FindMe.h未找到”的错误。
将${SRCROOT}
添加为Header Search Path
尝试编译/运行。 这应该工作。 如果是这样...
将FindMe.h移动到另一个文件夹级别,并将Header Search Path
更改为${SRCROOT}/../
。 编译/运行---应该工作。
继续遵循这个过程 - 将.h
一层(向上或向下移动到一个新文件夹中),编辑Header Search Path
,编译/运行以确认......直至到达“供应商”头文件的目标文件夹。