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 ```


相关文章
|
11月前
|
网络协议 Android开发 数据安全/隐私保护
Android手机上使用Socks5全局代理-教程+软件
Android手机上使用Socks5全局代理-教程+软件
6446 2
|
9月前
|
JavaScript NoSQL Redis
Vue中实现修改邮箱、手机号等流程的大致过程、验证码由后端的redis生成验证(版本1.0)
这篇文章记录了在Vue中实现修改手机号和邮箱的大致流程,包括使用过滤器部分隐藏展示的手机号和邮箱,以及通过点击触发路由跳转的便捷方式。文章还描述了旧号码和新号码验证的界面实现,其中验证码由后端生成并通过弹窗展示给用户,未来可以接入真正的手机验证码接口。此外,还提供了修改邮箱的页面效果截图,并强调了学习是一个永无止境的过程。
Vue中实现修改邮箱、手机号等流程的大致过程、验证码由后端的redis生成验证(版本1.0)
|
6月前
|
安全 搜索推荐 Android开发
Android vs. iOS:解锁智能手机操作系统的奥秘####
【10月更文挑战第21天】 在当今这个数字化时代,智能手机已成为我们生活中不可或缺的伙伴。本文旨在深入浅出地探讨两大主流操作系统——Android与iOS的核心差异、优势及未来趋势,帮助读者更好地理解这两个平台背后的技术哲学和用户体验设计。通过对比分析,揭示它们如何塑造了我们的数字生活方式,并展望未来可能的发展路径。无论您是技术爱好者还是普通用户,这篇文章都将带您走进一个充满创新与可能性的移动世界。 ####
201 3
|
7月前
|
Android开发 iOS开发 UED
安卓与iOS的较量:谁才是智能手机市场的王者?
本文将深入探讨安卓和iOS两大智能手机操作系统之间的竞争关系,分析它们各自的优势和劣势。通过对比两者在市场份额、用户体验、应用生态等方面的表现,我们将揭示出谁才是真正的市场领导者。无论你是安卓粉丝还是iOS忠实用户,这篇文章都将为你提供一些有趣的观点和见解。
|
9月前
|
缓存 iOS开发
如何在Xcode删除某个版本的IOS模拟器
如何在Xcode删除某个版本的IOS模拟器
850 1
|
9月前
|
存储 JavaScript 前端开发
看过来!准确直观显示手机充电信息的充电统计软件!
基于自制充电统计App,多设备用户可远程查看各设备充电数据。在软件内可以查看预估充电容量等信息
|
10月前
|
人工智能 搜索推荐 vr&ar
苹果手机iOS18最新升级:植入AI人工智能,国内百度文心一言,国外GPT4o来辅助
iOS 18亮点速览:AI强化的Siri、RCS安卓消息兼容、自定义主屏、辅助功能增强,VR进步,新隐私工具,包括锁定APP和眼动追踪。Passwords app保障安全,Apple Intelligence提升个性化体验。
309 1
|
10月前
|
测试技术 Android开发 iOS开发
IOS手机自动化一些工具的简单有哪些?
IOS手机自动化一些工具的简单有哪些?
|
10月前
|
SQL NoSQL 关系型数据库
若依修改02,若以提供了多种版本,RuoYi-Cloud和SpringBoot+Vue都是PC端的,如果想要适配手机端,用Uniapp+vue,导入Mysql和启动Redis
若依修改02,若以提供了多种版本,RuoYi-Cloud和SpringBoot+Vue都是PC端的,如果想要适配手机端,用Uniapp+vue,导入Mysql和启动Redis
|
12月前
|
安全 开发者 iOS开发
iOS16系统手机设置开启开发者模式才能安装ipa包
iOS16系统手机设置开启开发者模式才能安装ipa包
383 1

热门文章

最新文章