4、iOS获取设备名称

本文介绍了一种通过Objective-C代码获取iOS设备型号名称的方法。利用系统头文件和设备标识符,可以精确识别各种iPad、iPhone及iPod型号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

适配一直是移动开发人员的痛苦之处。那么今天在这里把关于适配中获取设备名称的方法汇合一下。


这是一个类方法,需要导入系统的头文件

#import <sys/utsname.h>

//设备名称

+ (NSString *)getDdeviceName

{

    struct utsname systemInfo;

    uname(&systemInfo);

    NSString *strModel = [NSString stringWithCString:systemInfo.machine

                                            encoding:NSUTF8StringEncoding];

    NSString *identifier = nil;

    if ([strModel isEqualToString:@"iPad1,1"])

    {

        identifier = @"iPad";

    }

    else if ([strModel isEqualToString:@"iPad2,1"] ||

             [strModel isEqualToString:@"iPad2,2"] ||

             [strModel isEqualToString:@"iPad2,3"] ||

             [strModel isEqualToString:@"iPad2,4"])

    {

        identifier = @"iPad 2";

    }

    else if ([strModel isEqualToString:@"iPad3,1"] ||

             [strModel isEqualToString:@"iPad3,2"] ||

             [strModel isEqualToString:@"iPad3,3"])

    {

        identifier = @"iPad 3";

    }

    else if ([strModel isEqualToString:@"iPad3,4"] ||

             [strModel isEqualToString:@"iPad3,5"] ||

             [strModel isEqualToString:@"iPad3,6"])

    {

        identifier = @"iPad 4";

    }

    else if ([strModel isEqualToString:@"iPad4,1"] ||

             [strModel isEqualToString:@"iPad4,2"])

    {

        identifier = @"iPad Air";

    }

    else if ([strModel isEqualToString:@"iPad2,5"] ||

             [strModel isEqualToString:@"iPad2,6"] ||

             [strModel isEqualToString:@"iPad2,7"])

    {

        identifier = @"iPad mini";

    }

    else if ([strModel isEqualToString:@"iPad4,4"] ||

             [strModel isEqualToString:@"iPad4,5"])

    {

        identifier = @"iPad mini 2";

    }

    else if ([strModel isEqualToString:@"iPhone1,1"])

    {

        identifier = @"iPhone 2G";

    }

    else if ([strModel isEqualToString:@"iPhone1,2"])

    {

        identifier = @"iPhone 3G";

    }

    else if ([strModel isEqualToString:@"iPhone2,1"])

    {

        identifier = @"iPhone 3GS";

    }

    else if ([strModel isEqualToString:@"iPhone3,1"] ||

             [strModel isEqualToString:@"iPhone3,2"] ||

             [strModel isEqualToString:@"iPhone3,3"])

    {

        identifier = @"iPhone 4";

    }

    else if ([strModel isEqualToString:@"iPhone4,1"])

    {

        identifier = @"iPhone 4S";

    }

    else if ([strModel isEqualToString:@"iPhone5,1"] ||

             [strModel isEqualToString:@"iPhone5,2"])

    {

        identifier = @"iPhone 5";

    }

    else if ([strModel isEqualToString:@"iPhone5,3"] ||

             [strModel isEqualToString:@"iPhone5,4"])

    {

        identifier = @"iPhone 5C";

    }

    else if ([strModel isEqualToString:@"iPhone6,1"] ||

             [strModel isEqualToString:@"iPhone6,2"])

    {

        identifier = @"iPhone 5S";

    }

    else if ([strModel isEqualToString:@"iPod1,1"])

    {

        identifier = @"iPod touch";

    }

    else if ([strModel isEqualToString:@"iPod2,1"])

    {

        identifier = @"iPod touch 2";

    }

    else if ([strModel isEqualToString:@"iPod3,1"])

    {

        identifier = @"iPod touch 3";

    }

    else if ([strModel isEqualToString:@"iPod4,1"])

    {

        identifier = @"iPod touch 4";

    }

    else if ([strModel isEqualToString:@"iPod5,1"])

    {

        identifier = @"iPod touch 5";

    }

    else

    {

        identifier = @"unknow";

    }

    return [NSString stringWithFormat:@"ios_%@", identifier];

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值