iOS 获取手机的型号,系统版本,软件名称,软件版本,手机类型(型号)

简介: iOS 获取手机的型号,系统版本,软件名称,软件版本,手机类型(型号)

``` // 手机序列号 NSString* identifierNumber = [[UIDevice currentDevice] uniqueIdentifier];


NSLog(@"手机序列号: %@",identifierNumber);


长期以来,iOS程序员们使用UIDevice.uniqueIdentifier作为追踪单一用户(设备)的标识。在iOS5.0 SDK中,我们可以看到uniqueIdentifier已经被注明为Deprecated的了,但是官方文档也提供了建议的替代方案,也就是本文的第一种替代方案。


方案一:


使用UUID,根据官方文档的说法:


Do not use theuniqueIdentifierproperty. To create a unique identifier specific to your app, you can call theCFUUIDCreatefunction to create a UUID, and write it to thedefaultsdatabase using theNSUserDefaultsclass.


我们应该使用CFUUIDCreate来创建一个UUID作为该用户(设备)在本应用的唯一标识,并且结合NSUserDefaults在第一次创建之后,一直使用该该UUID。稍后给出代码链接…


方案二:


使用MAC地址(网卡物理地址)


参考链接:http://iphonedevelopertips.com/device/determine-mac-address.html


但是使用MAC地址与使用uniqueIdentifier没有本质区别,还是违背了保护用户隐私的初衷,并且苹果未来完全可以采取相同的措施。


方案三:


使用第三方的服务,例如OpenFeint宣布的OFUID,OpenUDID,或者只允许注册会员使用,结合会员系统追踪用户。 ```


``` // 手机别名: 用户定义的名称 NSString* userPhoneName = [[UIDevice currentDevice] name]; NSLog(@"手机别名: %@", userPhoneName);


// 手机系统版本 NSString* phoneVersion = [[UIDevice currentDevice] systemVersion]; NSLog(@"手机系统版本: %@", phoneVersion);


// 手机型号 NSString* phoneModel = [[UIDevice currentDevice] model]; NSLog(@"手机型号: %@",phoneModel );


// 地方型号(国际化区域名称) NSString* localPhoneModel = [[UIDevice currentDevice] localizedModel]; NSLog(@"国际化区域名称: %@",localPhoneModel ); NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];


// 当前应用名称 NSString *appCurName = [infoDictionary objectForKey:@"CFBundleDisplayName"]; NSLog(@"当前应用名称:%@",appCurName);


// 当前应用软件版本 比如:1.0.1 NSString *appCurVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; NSLog(@"当前应用软件版本:%@",appCurVersion);


// 当前应用版本号码 int类型 NSString *appCurVersionNum = [infoDictionary objectForKey:@"CFBundleVersion"]; NSLog(@"当前应用版本号码:%@",appCurVersionNum); ```


``` 结果:


2012-10-19 14:07:47.622 myDemo[5779:707] 手机序列号: 6685c75e34104be0b04c6ceb72985dc381f0f746


2012-10-19 14:07:47.624 myDemo[5779:707] 手机别名: “xxx”的 iPhone


2012-10-19 14:07:47.627 myDemo[5779:707] 设备名称: iPhone OS


2012-10-19 14:07:47.629 myDemo[5779:707] 手机系统版本: 10.1


2012-10-19 14:07:47.641 myDemo[5779:707] 手机型号: iPhone


2012-10-19 14:07:47.642 myDemo[5779:707] 国际化区域名称: iPhone


2012-10-19 14:07:47.643 myDemo[5779:707] 当前应用名称:myDemo


2012-10-19 14:07:47.645 myDemo[5779:707] 当前应用软件版本:1.0.1


2012-10-19 14:07:47.646 myDemo[5779:707] 当前应用版本号码:101 ```


相关文章
|
5月前
|
网络协议 Android开发 数据安全/隐私保护
Android手机上使用Socks5全局代理-教程+软件
Android手机上使用Socks5全局代理-教程+软件
4226 2
|
6月前
|
存储 数据处理 开发工具
用python制作好的软件放手机里
【4月更文挑战第7天】
105 4
|
4天前
|
安全 搜索推荐 Android开发
Android vs. iOS:解锁智能手机操作系统的奥秘####
【10月更文挑战第21天】 在当今这个数字化时代,智能手机已成为我们生活中不可或缺的伙伴。本文旨在深入浅出地探讨两大主流操作系统——Android与iOS的核心差异、优势及未来趋势,帮助读者更好地理解这两个平台背后的技术哲学和用户体验设计。通过对比分析,揭示它们如何塑造了我们的数字生活方式,并展望未来可能的发展路径。无论您是技术爱好者还是普通用户,这篇文章都将带您走进一个充满创新与可能性的移动世界。 ####
15 3
|
7天前
|
Android开发 iOS开发 UED
安卓与iOS的较量:谁才是智能手机市场的王者?
本文将深入探讨安卓和iOS两大智能手机操作系统之间的竞争关系,分析它们各自的优势和劣势。通过对比两者在市场份额、用户体验、应用生态等方面的表现,我们将揭示出谁才是真正的市场领导者。无论你是安卓粉丝还是iOS忠实用户,这篇文章都将为你提供一些有趣的观点和见解。
|
3月前
|
存储 JavaScript 前端开发
看过来!准确直观显示手机充电信息的充电统计软件!
基于自制充电统计App,多设备用户可远程查看各设备充电数据。在软件内可以查看预估充电容量等信息
|
4月前
|
测试技术 Android开发 iOS开发
IOS手机自动化一些工具的简单有哪些?
IOS手机自动化一些工具的简单有哪些?
|
6月前
分享:2秒快速查询40万手机号码归属地,批量手机号码归属地查询可以导出excel表格,WPS表格查询手机号码归属地怎么操作,批量手机号码归属地批量查询软件,批量号码查询按省份和城市分类,按运移动号码电信号码联通号码分类整理
本文介绍了如何批量快速查询手机号码归属地并进行分类。首先,通过提供的百度网盘或腾讯云盘链接下载免费查询软件。其次,开启软件,启用复制粘贴功能,直接粘贴号码列表并选择高速查询。软件能在极短时间内(如1.76秒内)完成40多万个号码的查询,结果包括归属地、运营商、邮箱和区号,且数据准确。之后,可直接导出数据至表格,若数据超过100万,可按省份、城市及运营商分类导出。文章还附带了操作动画演示,展示全程流畅的处理大量手机号码归属地查询的过程。
305 0
分享:2秒快速查询40万手机号码归属地,批量手机号码归属地查询可以导出excel表格,WPS表格查询手机号码归属地怎么操作,批量手机号码归属地批量查询软件,批量号码查询按省份和城市分类,按运移动号码电信号码联通号码分类整理
|
6月前
|
安全 开发者 iOS开发
iOS16系统手机设置开启开发者模式才能安装ipa包
iOS16系统手机设置开启开发者模式才能安装ipa包
204 1
|
6月前
|
iOS开发
iOS使用.framework类型的静态库
iOS使用.framework类型的静态库
42 1
|
6月前
|
iOS开发 Perl
iOS使用.a类型的静态库
iOS使用.a类型的静态库
48 1