我需要知道哪些iOS设备当前正在运行的应用程序(说更正是我需要知道的是ARMv6的设备或ARMv7的)。 UIUserInterfaceIdiomPad()可能不检查是装置的iPhone4S的或iPhone3G的。 可能吗?
Answer 1:
下载https://github.com/erica/uidevice-extension (的UIDevice五金类),你可以使用这些:
[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;
}
Answer 2:
如果你真的想知道(在运行时),如果您是在ARM6或ARM7运行,你可以使用“ NXGetArchInfoFromCPUType
”( 更多的细节可在接受这个问题的答案 )。
否则,你可以使用PLATFORMTYPE或platformString,作为我们的令人难以置信的快速应答的朋友奥马尔建议(和+1到他!)。
文章来源: How to detect iOS device programmatically