欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

获取iPhone信息

程序员文章站 2024-03-24 12:28:58
...

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 5 iPhone5,1 iPhone5,2
iPhone 5c iPhone5,3 iPhone5,4
iPhone 5s iPhone6,1 iPhone6,2
iPhone 6 iPhone7,2
iPhone 6 Plus iPhone7,1
iPhone 6s iPhone8,1
iPhone 6s Plus iPhone8,2
iPhone 7 iPhone9,1 iPhone9,3
iPhone 7 Plus iPhone9,2 iPhone9,4
iPhone 8 iPhone10,1 iPhone10,4
iPhone 8 Plus iPhone10,2 iPhone10,5
iPhone X iPhone10,3 iPhone10,6
iPhone XR iPhone11,8
iPhone XS iPhone11,2
iPhone XS Max iPhone11,6
iPhone 11 iPhone12,1
iPhone 11 Pro iPhone12,3
iPhone 11 Pro Max iPhone12,5
iPhone 12 mini iPhone13,1
iPhone 12 iPhone13,2
iPhone 12 Pro iPhone13,3
iPhone 12 Pro Max iPhone13,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;

上一篇: python os模块

下一篇: tooltip