Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unknown type name 'UIImage'

Tags:

xcode6

xcode5

I've upgraded XCode from 5.1.1 to XCode 6.0.1 recently. Now everytime I want to define a new UIImage object I get this error:

Unknown type name 'UIImage'

Code:
1. Create a new project
2. Add Image View control to the storyboard
3. Reference the Image View by adding IBOutlet
4. Add new class file
5. Add the following line of code to the header file of the new class:

@property (strong, nonatomic) UIImage *background;

Header file (.h) content:

#import <Foundation/Foundation.h>

@interface CCTile : NSObject

@property (strong, nonatomic) NSString *story;
@property (strong, nonatomic) UIImage *background; // Error: Unknown type name 'UIImage'

@end

However, if I add #import <UIKit/UIKit.h> to the header file (above) everything seems OK! Any ideas what am I missing here, please? Is this a change in XCode header files!

like image 517
aenawi Avatar asked Sep 24 '14 18:09

aenawi


3 Answers

I also had the same problem and fixed it using

#import <UIKit/UIKit.h>

However, I dug around some more and compared a project made in XCode 6 compared to Xcode 5, and I noticed that Xcode 6 did not create a prefix header file. The prefix header file is implicitly imported into every class, and the prefix header file (.pch) includes UIKit as well as Foundation.

To create a pch file, go to File -> New -> File -> Other -> PCH file. Edit the name to "YourProject-prefix.pch". Add the following:

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

Then you need to set the build settings. Go to your project -> build settings -> search at the top: prefix header.

You will see Precompile Prefix Header -> change to yes. Also, right below is Prefix Header. Add the path of your prefix header. Should be like: "YourProject/YourProject-prefix.pch".

like image 138
jdmorgenstein Avatar answered Oct 03 '22 16:10

jdmorgenstein


for Unknown type name 'UIImage' or any UI object which is required.

#import (UIKit)this will solve your problem. this is working for me....

like image 24
BalKrishan Yadav Avatar answered Oct 03 '22 15:10

BalKrishan Yadav


Ran into the same issue. Resolved it by doing

#import <UIKit/UIKit.h>

Kudos apple :P

like image 43
Nitesh Avatar answered Oct 03 '22 15:10

Nitesh