Ios pch,从单个文件中排除

Ios pch,从单个文件中排除,ios,objective-c,xcode,Ios,Objective C,Xcode,.pch #ifdef __OBJC__ #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> #import "thing.h" #endif #ifdef_uuobjc__ #进口 #进口 #导入“thing.h” #恩迪夫 我有一个相当大的项目,我正试图调试,我怀疑问题出在这个东西上 据我所知,.pch文件包含在项目的每个.m和.h中 有可能不包含在一个或两个文件中吗?对于调试

.pch

#ifdef __OBJC__
    #import <Foundation/Foundation.h>
    #import <UIKit/UIKit.h>
    #import "thing.h"
#endif
#ifdef_uuobjc__
#进口
#进口
#导入“thing.h”
#恩迪夫
我有一个相当大的项目,我正试图调试,我怀疑问题出在这个东西上

据我所知,.pch文件包含在项目的每个.m和.h中


有可能不包含在一个或两个文件中吗?对于调试,我不希望只在一个测试文件中包含thing.h,但是从.pch中删除它会导致整个项目的级联噩梦。

这是一个非常老的问题,但我刚刚遇到了这个问题。通过使用
ifndef SOME_NAME
包装pch文件,我能够解决这个问题。然后在每个特定文件的项目设置中,我希望不包括它,我添加了一个编译器标志
-DSOME\u NAME=1
。希望这对将来的人有所帮助。

啊,把用户头放进pch文件的噩梦……对不起,这让你感到难过;关于避免这种做法的几个原因之一,这是一个很好的教训。我不知道有什么好办法。请注意,pch文件由Xcode显式地包含在每个编译单元中,Xcode将
-include/path/to/generated/file.pch
传递给clang。我不知道有什么办法可以解决这个问题。这可能是一个很好的机会,可以进行非常机械的(如果很乏味的话)修复,将标题放在使用它们的位置。这就是我们最终所做的:-/这是一个任务的噩梦,但希望能使任何未来的贡献者的工作更容易。