iOS:这种方法可以在iOS设备上运行吗?

时间:2015-02-03 16:14:40

标签: ios objective-c iphone 64-bit 32-bit

我需要一种方法来检测iOS设备是64位还是32位。我的应用程序是64位兼容的。所以我相信这应该有效。如果没有,请告诉我。我在64位iPad上进行了测试,它似乎有效,但需要确保。

if (sizeof(void*) == 4) {

} else if (sizeof(void*) == 8) {

}

2 个答案:

答案 0 :(得分:3)

作为参考,在编译时检查此问题的规范方法是:

#if __LP64__
#endif

这是一个预处理器定义,在生成64位代码时将由编译器进行内在定义。

我很难想象什么时候有一个令人信服的理由在运行时而不是编译时确定这个,但也许我错过了什么。

答案 1 :(得分:0)

它确实有效,即使在模拟器中也是如此。您可以在iPad 2模拟器上进行测试,代码将采用32位路径,iPhone 6模拟器采用其他代码路径。