获取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