Ваш файл импортирует UIKit?Нет, это не так.Ваш Constants.h файл импортирует Foundation, а не UIKit.Вместо этого импортируйте UIKit, и ваш код скомпилируется.
Но также обратите внимание: в документах по UI_USER_INTERFACE_IDIOM
точно сказано:
Если ваше приложение работает в iOS 3.2 и более поздних версиях, используйте вместо этого userInterfaceIdiom.
Так что лучше переписать весь файл Constants.h :
#import <UIKit/UIKit.h>
@interface Constants : NSObject
#define IS_IPHONE ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone)
-(BOOL)isIphone;
@end