我有一个以前在Swift 2.2下运行在XCode 7中的项目。但是,我开始将它迁移到Xcode 8和Swift 2.3(Swift 3将在稍后出现)。这是我第一次迁移项目,所以我对很多概念都很陌生。
我一直收到以下错误: 找不到'JBBarChartView.h'文件。
这就是我的项目的样子(由于隐私原因而模糊了不重要的部分)
重要的头文件,例如JBBarChartView.h,位于供应商文件夹中。由于某些奇怪的原因,Xcode无法找到文件,因此无法导入桥接标题。
到目前为止,我所尝试的是:
无论我尝试什么,由于一些奇怪的原因,Xcode无法找到那些标题。有人知道我能尝试什么吗?
答案 0 :(得分:0)
这个../../${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
,构建/运行以确认...直到您已达到您的"供应商"的目标文件夹头文件。