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

el.*_*ero 1 objective-c ipad

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

谢谢!

And*_*jão 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
Run Code Online (Sandbox Code Playgroud)

所以你只需调用[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型号,请转到此处.