2010-09-22 102 views
3

我在头文件中声明了一些常量,根据它是iPad还是iPhone应用程序,它们需要有所不同。我将如何做到这一点?检测iPad的预处理器指令

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

可能的重复http://stackoverflow.com/questions/2159951/is-there-a-specific-xcode-compiler-flag-that-gets-set-when-compiling-for-ipad – AlcubierreDrive 2010-09-22 10:02:28

+0

谢谢,虽然明显的答案是不是我想要的 – qui 2010-09-22 10:07:25

+0

它有什么问题吗? – JeremyP 2010-09-22 15:40:23

回答

7

如果你正在写一个通用的应用程序,因为编译器为iPhone和iPad的一个可执行文件,你不能做一个编译时检查。如果你有iPhone和iPad的独立应用程序(共享代码库),为什么不自己适当地定义ISIPAD?否则,你必须在运行时进行检查。

你可以使它们成为全局变量,当你的应用程序启动时,它会被初始化,检查你正在运行的设备,然后适当地设置它们。