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

2,645 阅读2分钟
// 手机序列号
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