-->

如何以编程方式检测iOS设备(How to detect iOS device programmat

2019-06-25 13:48发布

我需要知道哪些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