Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果IPHONE 4 0能在iPad上工作,它会工作吗?_Iphone_Xcode_Ipad - Fatal编程技术网

如果IPHONE 4 0能在iPad上工作,它会工作吗?

如果IPHONE 4 0能在iPad上工作,它会工作吗?,iphone,xcode,ipad,Iphone,Xcode,Ipad,这项检查在iPad和iPhone上都有效吗?我想我只是对在iPad上使用“iPhone”一词感到困惑。我是否还需要检查iPad操作系统版本,或者宏是否指的是一般的iOS版本 #if __IPHONE_4_0 // Do stuff #elif __IPHONE_3_0 // Do 3.0 stuff #endif 您发布的代码是编译器指令。这意味着它不会在iPad或iPhone上运行。当您构建应用程序二进制文件时,它会被处理。顺便说一句,如果你是为iPad而建,那么你是为3.2而建,而不是3.

这项检查在iPad和iPhone上都有效吗?我想我只是对在iPad上使用“iPhone”一词感到困惑。我是否还需要检查iPad操作系统版本,或者宏是否指的是一般的iOS版本

#if __IPHONE_4_0
// Do stuff
#elif __IPHONE_3_0
// Do 3.0 stuff
#endif

您发布的代码是编译器指令。这意味着它不会在iPad或iPhone上运行。当您构建应用程序二进制文件时,它会被处理。顺便说一句,如果你是为iPad而建,那么你是为3.2而建,而不是3.0或4.0

如果您使用3_2或4_2而不是3_0或4_0,它应该可以工作


祝你好运

IPHONE\u 3\u 0等的问题在于,即使针对其他iOS版本,它们也会被定义;它们是版本标识常量,而不是标识目标iOS版本的常量。使用
\u IPHONE\u操作系统\u版本\u最低要求

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_0
#elif __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_3_0
#else
#endif
甚至:

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 40000
#elif __IPHONE_OS_VERSION_MIN_REQUIRED >= 30000
#else
#endif
在有限的情况下,为了避开“
\uuuIphone\uOS\uVersion\uMax\uAllowed”
注释中提到的错误,也可能有用


而且,是的,应用程序将在什么设备上运行并不重要。这些常量由编译器定义,在设备上不存在。一旦预处理器运行,就不会留下任何宏。尽管设备本身存在差异,但iPhone和iPad都运行iOS,这才是您真正的目标。

好的,是的,我知道它没有运行,编译后会更有效。3_0至少应该在iPad上定义,对吧?谢谢,这正是我想要的。