我需要知道哪个 iOS 设备当前正在运行应用程序(更确切地说,我需要知道的是设备 armv6 或 armv7)。UIUserInterfaceIdiomPad() 无法检查设备是 iPhone4S 还是 iPhone3G。是否可以?
问问题
12472 次
2 回答
11
下载https://github.com/erica/uidevice-extension(UIDevice-Hardware类),你可以使用这些:
[UIDevice currentDevice] platformType] // returns UIDevice4GiPhone
[[UIDevice currentDevice] platformString] // returns @"iPhone 4G"
或者检查它的视网膜
+ (BOOL) isRetina
{
if([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
return [[UIScreen mainScreen] scale] == 2.0 ? YES : NO;
return NO;
}
或者查看iOS版本
+ (BOOL) isIOS5
{
NSString *os5 = @"5.0";
NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
// currSysVer = @"5.0.1";
if ([currSysVer compare:os5 options:NSNumericSearch] == NSOrderedAscending) //lower than 4
{
return NO;
}
else if ([currSysVer compare:os5 options:NSNumericSearch] == NSOrderedDescending) //5.0.1 and above
{
return YES;
}
else // IOS 5
{
return YES;
}
return NO;
}
于 2012-06-18T11:34:35.430 回答
1
如果您真的想知道(在运行时)您是在 arm6 还是 arm7 上运行,您可以使用“ NXGetArchInfoFromCPUType
”(更多详细信息可在此问题的已接受答案中获得)。
否则,您可以使用 platformType 或 platformString,正如我们快速回答的朋友 Omar 建议的那样(并向他 +1!)。
于 2012-06-18T11:35:36.870 回答