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

标签 objective-c xcode ipad c-preprocessor

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

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

最佳答案

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

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

关于objective-c - 用于检测 iPad 的预处理器指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3768110/

相关文章:

xcode - 当返回类型可选时调用方法时显示消息

iphone - iPhone-关于内存使用情况,NSString和NSMutableString之间的区别

objective-c - 是否可以限制只适用于全尺寸 iPad,而不适用于 iPad mini?

iphone - 如何在 iPhone 上使用 ARMv6 优化的 OpenMAX DL 库

xcode - 为什么 Xcode 10 会崩溃?

iphone - iOS + 安卓 HTTP 协议(protocol)

iphone - iAd 在 iPad 上不工作

objective-c - Xcode:我应该如何组织我的多窗口用户界面项目?

objective-c - 如何使用不同的 init 方法在 XIB 中创建自定义 View ?

ios - 跳转到节点层次结构中的特定 SKNode