用于检测iPad的预处理器指令

时间:2010-09-22 09:56:19

标签: objective-c xcode ipad c-preprocessor

我在头文件中声明了一些常量,这些常量需要根据它是iPad还是iPhone应用程序而有所不同。我该怎么做?

即。

#ifdef ISIPAD
static NSString myconst = @"ipad!";
#else
static NSString myconst = @"iphone!";
#endif

1 个答案:

答案 0 :(得分:7)

如果您正在编写通用应用程序,则无法进行编译时检查,因为编译器会为iPhone和iPad生成一个可执行文件。如果你有适用于iPhone和iPad的独立应用程序(带有共享代码库),为什么不自己#define ISIPAD。否则,您必须在运行时进行检查。

你可以通过检查你正在运行的设备然后正确设置它们来使它们成为应用程序启动时初始化的全局变量。