如何在应用程序/游戏中检测iPad3

时间:2012-01-24 14:35:36

标签: objective-c ipad

有谁知道检测iPad 3的方法? 5.0 iOS SDK版本的{{1}}是否具有此功能?

谢谢!

1 个答案:

答案 0 :(得分:7)

iPad 3还没有出来,所以你不知道它的型号标识符是什么;但是,您可以做的是获取模型标识符,如果它以“iPad”开头并且不是任何已知模型,您可以假设/猜测它是iPad 3(至少在不久的将来)。

#include <sys/types.h>
#include <sys/sysctl.h>


@implementation UIDevice (Hardware)

- (NSString *) platform {

    size_t size;
    sysctlbyname("hw.machine", NULL, &size, NULL, 0);
    char *machine = malloc(size);
    sysctlbyname("hw.machine", machine, &size, NULL, 0);
    NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
    free(machine);
    return platform;
}

@end

所以你只需要调用[UIDevice平台]并将其与已知的iPad型号进行比较:

  • iPad1,1:iPad 1
  • iPad2,1:iPad 2(WiFi)
  • iPad2,2:iPad 2(3G,GSM)
  • iPad2,3:iPad 2(3G,CDMA)

以iPad开头的任何其他内容都应该是新模式。

对于所有iPad型号,go here