获取iPhone信息

本文介绍了在iOS开发中如何获取设备的型号信息和系统版本。通过使用uname接口获取Model字段并结合机型和Model对照表,可以识别出实际的iPhone型号。同时,利用[[UIDevice currentDevice] systemVersion]可以获取系统版本号,便于进行版本适配。此外,还展示了获取屏幕宽高的方法,对于屏幕适配非常有用。
摘要由CSDN通过智能技术生成

iOS开发获取机型信息

iOS开发中有时需要查看设备机型,用来分析数据或者分析问题。获取信息可以使用uname接口,machine字段存放了设备Model信息,这个Model字段有两个注意点,第一个注意点是模拟器上始终返回的是x86_64,因为模拟器运行在mac电脑上,返回的实际是电脑的设备信息。第二个注意点是Model信息中的数字并不直接代表机型,比如iPhone12,1并不是iPhone12手机,而是iPhone11,需要写方法做个映射,从而获取到机型。

- (NSString *)deviceType
{
    struct utsname systemInfo;
    uname(&systemInfo);
    NSString *phoneModel = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
    if ([phoneModel isEqualToString:@"iPhone13,2"]) {
        return @"iPhone 12";
    }
    return phoneModel;
}

机型和Model信息对照表

机型Model值
iPhone 5iPhone5,1 iPhone5,2
iPhone 5ciPhone5,3 iPhone5,4
iPhone 5siPhone6,1 iPhone6,2
iPhone 6iPhone7,2
iPhone 6 PlusiPhone7,1
iPhone 6siPhone8,1
iPhone 6s PlusiPhone8,2
iPhone 7iPhone9,1 iPhone9,3
iPhone 7 PlusiPhone9,2 iPhone9,4
iPhone 8iPhone10,1 iPhone10,4
iPhone 8 PlusiPhone10,2 iPhone10,5
iPhone XiPhone10,3 iPhone10,6
iPhone XRiPhone11,8
iPhone XSiPhone11,2
iPhone XS MaxiPhone11,6
iPhone 11iPhone12,1
iPhone 11 ProiPhone12,3
iPhone 11 Pro MaxiPhone12,5
iPhone 12 miniiPhone13,1
iPhone 12iPhone13,2
iPhone 12 ProiPhone13,3
iPhone 12 Pro MaxiPhone13,4

iOS获取系统版本

iOS开发有时需要获取系统版本,做不同版本的适配,比如针对iOS11系统,使用iOS11上的新API,这个时候需要先判断出系统版本号,然后做相应的代码编写。iOS提供了接口供开发者获取系统版本。

NSString *systemVersion = [[UIDevice currentDevice] systemVersion];

如果针对某个系统机型适配,还可以这样

if (@avavilable(iOS 11.0,*)) {
   //iOS11以及以后的版本执行
}

iOS获取屏幕宽高

iOS开发在做屏幕适配的时候,可能会用到屏幕宽高,根据屏幕宽高来移动控件的布局。获取屏幕宽高,只需要用到UIScreen类的方法就可以了

CGFloat width = [UIScreen mainScreen].bounds.size.width;
CGFloat height = [UIScreen mainScreen].bounds.size.height;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值