ios获取手机型号、系统版本、设备唯一标识符、手机运营商等

本文主要是介绍ios获取手机型号、系统版本、设备唯一标识符、手机运营商等,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

直接代码:

//设备唯一标识符NSString *identifierStr = [[[UIDevice currentDevice] identifierForVendor] UUIDString];NSLog(@"设备唯一标识符:%@",identifierStr);//手机别名: 用户定义的名称NSString* userPhoneName = [[UIDevice currentDevice] name];NSLog(@"手机别名: %@", userPhoneName);//设备名称NSString* deviceName = [[UIDevice currentDevice] systemName];NSLog(@"设备名称: %@",deviceName );//手机系统版本NSString* phoneVersion = [[UIDevice currentDevice] systemVersion];NSLog(@"手机系统版本: %@", phoneVersion);//手机型号NSString * phoneModel =  [self deviceVersion];NSLog(@"手机型号:%@",phoneModel);//地方型号  (国际化区域名称)NSString* localPhoneModel = [[UIDevice currentDevice] localizedModel];NSLog(@"国际化区域名称: %@",localPhoneModel );NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];// 当前应用软件版本  比如:1.0.1NSString *appCurVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"];NSLog(@"当前应用软件版本:%@",appCurVersion);// 当前应用版本号码   int类型NSString *appCurVersionNum = [infoDictionary objectForKey:@"CFBundleVersion"];NSLog(@"当前应用版本号码:%@",appCurVersionNum);CGRect rect = [[UIScreen mainScreen] bounds];CGSize size = rect.size;CGFloat width = size.width;CGFloat height = size.height;NSLog(@"物理尺寸:%.0f × %.0f",width,height);CGFloat scale_screen = [UIScreen mainScreen].scale;NSLog(@"分辨率是:%.0f × %.0f",width*scale_screen ,height*scale_screen);CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];CTCarrier *carrier = info.subscriberCellularProvider;NSLog(@"运营商:%@", carrier.carrierName);

- (NSString*)deviceVersion
{// 需要#import "sys/utsname.h"struct utsname systemInfo;uname(&systemInfo);NSString * deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];//iPhoneif ([deviceString isEqualToString:@"iPhone1,1"])    return @"iPhone 1G";if ([deviceString isEqualToString:@"iPhone1,2"])    return @"iPhone 3G";if ([deviceString isEqualToString:@"iPhone2,1"])    return @"iPhone 3GS";if ([deviceString isEqualToString:@"iPhone3,1"])    return @"iPhone 4";if ([deviceString isEqualToString:@"iPhone3,2"])    return @"Verizon iPhone 4";if ([deviceString isEqualToString:@"iPhone4,1"])    return @"iPhone 4S";if ([deviceString isEqualToString:@"iPhone5,1"])    return @"iPhone 5";if ([deviceString isEqualToString:@"iPhone5,2"])    return @"iPhone 5";if ([deviceString isEqualToString:@"iPhone5,3"])    return @"iPhone 5C";if ([deviceString isEqualToString:@"iPhone5,4"])    return @"iPhone 5C";if ([deviceString isEqualToString:@"iPhone6,1"])    return @"iPhone 5S";if ([deviceString isEqualToString:@"iPhone6,2"])    return @"iPhone 5S";if ([deviceString isEqualToString:@"iPhone7,1"])    return @"iPhone 6 Plus";if ([deviceString isEqualToString:@"iPhone7,2"])    return @"iPhone 6";if ([deviceString isEqualToString:@"iPhone8,1"])    return @"iPhone 6s";if ([deviceString isEqualToString:@"iPhone8,2"])    return @"iPhone 6s Plus";return deviceString;
}

运行结果:

2016-05-18 14:38:23.247 获取手机信息[36680:1515571] 设备唯一标识符:3DCF9688-6946-4C30-8B27-377A7910DCB0

2016-05-18 14:38:23.248 获取手机信息[36680:1515571] 手机别名: iPhone Simulator

2016-05-18 14:38:23.248 获取手机信息[36680:1515571] 设备名称: iPhone OS

2016-05-18 14:38:23.249 获取手机信息[36680:1515571] 手机系统版本: 9.3

2016-05-18 14:38:23.249 获取手机信息[36680:1515571] 手机型号:x86_64

2016-05-18 14:38:23.249 获取手机信息[36680:1515571] 国际化区域名称: iPhone

2016-05-18 14:38:23.249 获取手机信息[36680:1515571] 当前应用软件版本:1.0

2016-05-18 14:38:23.250 获取手机信息[36680:1515571] 当前应用版本号码:1

2016-05-18 14:38:23.250 获取手机信息[36680:1515571] 物理尺寸:375 × 667

2016-05-18 14:38:23.250 获取手机信息[36680:1515571] 分辨率是:750 × 1334

2016-05-18 14:38:23.252 获取手机信息[36680:1515571] 运营商:(null)  //真机显示运营商


获取手机型号需要导入  

#import "sys/utsname.h"

获取运行商需要导入

#import <CoreTelephony/CTCarrier.h>

#import <CoreTelephony/CTTelephonyNetworkInfo.h>



这篇关于ios获取手机型号、系统版本、设备唯一标识符、手机运营商等的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/881467

相关文章

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

C++作用域和标识符查找规则详解

《C++作用域和标识符查找规则详解》在C++中,作用域(Scope)和标识符查找(IdentifierLookup)是理解代码行为的重要概念,本文将详细介绍这些规则,并通过实例来说明它们的工作原理,需... 目录作用域标识符查找规则1. 普通查找(Ordinary Lookup)2. 限定查找(Qualif

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p