1

我已经阅读了有关词汇和预处理器问题的另一个问题,并且我尝试使用有助于解决他们问题的方法。不幸的是,这些解决方案都没有帮助解决这个问题。这个错误突然出现,我不确定除了读取的内容之外我还能做什么来解决这个问题。请帮忙!

这是我收到错误的代码:

#import <UIKit/UIKit.h>

@interface scanshootViewController : UIViewController
<UINavigationControllerDelegate, UIImagePickerControllerDelegate>

{
    IBOutlet UIImageView *imageView;
    UIImagePickerController *imagePicker;

}

@property (nonatomic, retain) UIImageView *imageView;

-(IBAction) btnClicked:(id) sender;

@end
4

5 回答 5

1

进入项目的框架文件夹,右键单击 UIKit.Framework > 在 finder 中显示。

如果 Headers 文件夹是空的,这意味着您没有正确的文件,我刚刚意识到一些 Clean Apps 从您的计算机中删除了 .h 文件(......是的,信不信由你);

解决方案:

1) 从其他 XCode 安装中复制整个 iPhoneOS.platform & iPhoneSimulator.platform 文件夹

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

于 2013-12-01T19:45:30.997 回答
1

尝试为您的应用删除“派生数据”文件夹 - 您可以在管理器的“项目”选项卡中找到它。您可以在 finder 中找到,在 Xcode 中关闭项目,删除文件夹,重新打开项目,然后尝试构建。如果这样做不关闭项目,请删除项目文件中以您的用户 ID 开头的每个目录(或只是重命名它们),重新打开,重建。

编辑:还有一些建议

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

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 是 Frogged)。然后在您的项目旁边打开该项目构建设置,并逐行查看顶部,看看有什么不同。

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

于 2012-08-20T14:43:24.353 回答
0

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

于 2013-01-31T12:36:25.053 回答
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)

高温高压

于 2016-03-27T10:07:48.120 回答
0

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

构建配置

于 2015-12-28T16:11:13.007 回答