词法或预处理器问题错误(未找到UIKit / UIKit.h文件)

时间:2012-08-20 14:13:37

标签: iphone ios preprocessor xcode4.3 lexical

我已经阅读了关于词汇和预处理器问题的另一个问题,我试图使用有助于解决问题的方法。不幸的是,这些解决方案都没有帮助纠正这个问题。这个错误无处不在,我不知道除了阅读之外我能做些什么来解决这个问题。请帮忙!

以下是我收到错误的代码:

#import <UIKit/UIKit.h>

@interface scanshootViewController : UIViewController
<UINavigationControllerDelegate, UIImagePickerControllerDelegate>

{
    IBOutlet UIImageView *imageView;
    UIImagePickerController *imagePicker;

}

@property (nonatomic, retain) UIImageView *imageView;

-(IBAction) btnClicked:(id) sender;

@end

5 个答案:

答案 0 :(得分:1)

到达项目中的Frameworks文件夹,右键单击UIKit.Framework&gt;在发现者中显示。

如果Headers文件夹为空,表示您没有正确的文件,我只是意识到一些干净的应用程序会从您的计算机中删除.h文件(...是的,信不信由你);

解决方案:

1)复制整个iPhoneOS.platform&amp;来自其他XCode安装的iPhoneSimulator.platform文件夹

2)重新安装XCode(ups ...)

答案 1 :(得分:0)

尝试删除应用的“派生数据”文件夹 - 您可以在管理器的“项目”标签中找到它。你可以在Finder中找到它,在Xcode中关闭项目,删除文件夹,重新打开项目,然后尝试构建。如果没有关闭项目,请删除项目文件中以userID开头的每个目录(或者只是重命名),重新打开,重建。

编辑:更多建议

1)查看Target的“使用标准系统标题目录搜索”并确保其为“是”。

2)在你的.pch文件中,你应该有:

#import <Availability.h>

#ifndef __IPHONE_4_0
#warning "This project uses features only available in iOS SDK 4.0 and later."
#endif

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>

尝试在 OBJC 下的iteslf的行中添加“Hello”以验证在构建时,您到达(并获得致命错误) - 这将证明 OBJC 已定义。

3)创建一个全新的项目 - iOS一个视图。确保它构建并运行(如果不是Xcode的话)。然后在项目旁边打开项目Build Settings,并逐行查看,看看有什么不同。

4)如果所有其他方法都失败了,请将项目移动到其他目录,创建一个新目录,然后将所有文件添加回新项目中。这显然是最糟糕的解决方案。

答案 2 :(得分:0)

我遇到了同样的问题。原因是我不小心将“Build Settings”中的“Base SDK”设置为“Current OS X”而不是“Latest iOS”。当我将其设置回“最新iOS”时,构建错误消失了。

答案 3 :(得分:0)

我遇到了与构建iOS的框架目标相同的问题。我通过在构建配置中将“Base SDK”设置为合理的东西来解决这个问题。

build config

答案 4 :(得分:0)

FWIW,我有一个类似的问题试图改进github上的一些代码。

我不明白为什么它找不到UIColor而不能#import <UIKit/UIKit.h>直到我意识到它是为OSX而不是为iOS构建!!!

所以我把它放在.h文件的开头:

#import "TargetConditionals.h"

#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
  #import <UIKit/UIKit.h>
  #define HXColor UIColor
#else
  #import <Cocoa/Cocoa.h>
  #define HXColor NSColor
#endif

@interface HXColor (HexColorAddition)

HTH