我们是使用IMEI作为设备的唯一标识的

作者:体育资讯

二.UUID(Universally Unique Identifier) 

1.索爱也会有四个Mac地址,wifi的地点,以致SIM卡的地址.日常来说,大家取en0之处,因为他是金立的wifi的地址,是迟早存在的.(例外情形仍有:市情上还是留存部分联通的阉割版无wifi的黑莓卡塔尔(英语:State of Qatar) 

凭借以上定义可见,同风姿罗曼蒂克设备上的两样接收的UUID是排斥的,即能在改设备上标记应用.但是并未鲜明提议能标志出全体同一应用的例外器材,可是依靠小编想来,那几个UUID应该是基于设备标志和动用标记生成唯大器晚成标志,再经过加密而来的(纯推测卡塔尔国. 

UDID是Unique Device Identifier的缩写,普通话意思是器械唯生龙活虎标志. 

iOS中拿走UUID的代码如下: 

在重重亟待限定生龙活虎台器械叁个账号的运用中平常会用到,在Symbian时期,我们是行使IMEI作为设备的天下无敌标识的,缺憾的是Apple官方不容许开辟者获得器材的IMEI. 

情趣是iOS2.0以上及iOS5.0以下的种类可用,但不提议使用.Apple有相当大恐怕在ios5.0今后剔除该函数. 

因此UDID作为标志唯生龙活虎设备的用场已经相当小了. 

而是大家须求小心的一些是,对于已越狱了的装备,UDID实际不是头一无二的.使用Cydia插件UDIDFaker,可以为每贰个行使分配不相同的UDID. 

通过自个儿测量试验近些日子,UUID在IOS4和IOS5下均能够行使,何况UUID每便改动的值都不平等,供给开垦者自行保存UUID. 

有关率先个注意点的问题,经过笔者测量检验,未有Wifi功用的酷派3GS相近能够赢得Mac地址,所以那应当是眼下标志设备唯意气风发最佳的一个减轻方案. 

背景:

大多数运用都会用到苹果设备的UDID号,UDID日常常有以下两用:

1)用于一些总计与深入分析指标;【第三方计算工具如友盟,广告商如ADMOB等】

2)将UDID作为顾客ID来唯生龙活虎识别客户,省去顾客名,密码等登记进度。

唯独,二零一一年时,苹果就表露ios5.0未来的类别上将不再帮衬以下办法获得客户的UDID【苹果设备的唯意气风发识别码】:

  1. [UIDevice currentDevice] uniqueIdentifier]; 

【注:对于已越狱了的器具,UDID并非必经之路的.使用Cydia插件UDIDFaker,可以为每一个应用分配分裂的UDID】

与此同一时候,苹果公司建议使用UUID【风姿罗曼蒂克种开放的软件创设标准】来替代:

  1. -(NSString*) uuid {   
  2.     CFUUIDRef puuid = CFUUIDCreate( nil );   
  3.     CFStringRef uuidString = CFUUIDCreateString( nil, puuid );   
  4.     NSString * result = (NSString *)CFStringCreateCopy( NULL, uuidString);   
  5.     CFRelease(puuid);   
  6.     CFRelease(uuidString); return [result autorelease];   

该办法每回都会拿到一个唯后生可畏的标记字符串,开辟者能够在选择第一遍运行时候调用三次,然后将该串存款和储蓄起来,以便以往代表UDID来利用。

主题材料是假诺客商删除该应用再度安装时,又会转移新的字符串,所以无法承保唯生龙活虎识别该设施。

而新近(二〇一三年一月),有音讯称苹果应用商铺始发不肯利用UDID的使用上架。

UUID是Universally Unique Identifier的缩写,中文意思是通用唯风华正茂识别码. 

由网络资料显示,UUID是七个软件建设布局的规范,也是被开源软件基金会(Open Software Foundation,OSF卡塔尔(قطر‎的团组织在布满式总括意况(Distributed Computing Environment,DCE卡塔尔国领域的生龙活虎部份.UUID的指标,是让布满式系统中的全部因素,都能有唯意气风发的识别资源音讯,而没有必要经过中心决定带给做辨识资源信息的钦赐. 

  1. [UIDevice currentDevice] uniqueIdentifier] 

2.Mac地点涉及到隐衷,不应有胡乱将顾客的Mac地址传播!所以我们须求将Mac地址实行hash之后,技艺当作DeviceId上传. 

一.UDID(Unique Device Identifier) 

  1. @property(nonatomic,readonly,retain) NSString    *uniqueIdentifier  __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_我们是使用IMEI作为设备的唯一标识的。0,__IPHONE_5_0); // a string unique to each device based on various hardware info.  

现行反革命英特网有大器晚成现存的缓和方案,使用设备的Mac地址,因为Mac地址也是独步一时的.unix有系统调用能够收获Mac地址.但某件事情须求潜心: 

透过测量检验,未越狱的黑莓,系统版本为5.0.1,依旧得以赢得UDID. 

三.一个管用的解决方案 

尽管UUID是法定提议的风度翩翩种代替UDID的建议方案,但网络有材料说UUID不能够承保在后头的系统进级后(IOS6,7卡塔尔国还可以够用. 

代替他方案:

至今网络有风流倜傥现有的解决方案,使用设备的Mac地址,因为Mac地址也是唯后生可畏的.unix有连串调用可以获取Mac地址.但有个别业务须要小心: 
1.中兴也许有五个Mac地址,wifi之处,以至SIM卡的地址.平常来说,我们取en0的地址,因为她是红米的wifi的地点,是迟早存在的.
2.Mac位置涉及到隐秘,不该胡乱将客户的Mac地址传播!所以大家须要将Mac地址实行hash之后,技术看做DeviceId上传.

该建设方案源码地址:

该方案提供了四个法子:

uniqueDeviceIdentifier (返回MAC和CFBundleIdentifier的MD5值)
uniqueGlobalDeviceIdentifier(返回MAC的MD5值)

运用方法:

  1. #import "UIDevice IdentifierAddition.h" NSLog(@"%@",[[bwin娱乐平台,UIDevice currentDevice] uniqueDeviceIdentifier]); 
  2. NSLog(@"%@",[[UIDevice currentDevice] uniqueGlobalDeviceIdentifier]); 

测验结果:

WIFI下:

UDID:XXXX21f1f19edff198e2a2356bf4XXXX 
新生成的:XXXX7dc3c577446a2bcbd77935bdXXXX 

3G下:

UDID:XXXX21f1f19edff198e2a2356bf4XXXX
新生成的:XXXX7dc3c577446a2bcbd77935bdXXXX

GPRS下

UDID:XXXX21f1f19edff198e2a2356bf4XXXX
新生成的:XXXX7dc3c577446a2bcbd77935bdXXXX

飞行形式下:

UDID:XXXX21f1f19edff198e2a2356bf4XXXX
新生成的:XXXX7dc3c577446a2bcbd77935bdXXXX

删去应用重装后:

UDID:XXXX21f1f19edff198e2a2356bf4XXXX

新生成的:XXXX7dc3c577446a2bcbd77935bdXXXX

即使选取UUID为标志保存客商的资料在互联网上,当客商重装软件后,UUID的值就也许会发出转移(基本上可说是100%会生出退换卡塔尔,顾客则无从再一次下载原本的互连网资料. 

ios5 sdk中的获取形式: 

  1. 1 -(NSString*) uuid { 2 CFUUIDRef puuid = CFUUIDCreate( nil ); 3 CFStringRef uuidString = CFUUIDCreateString( nil, puuid ); 4 NSString * result = (NSString *)CFStringCreateCopy( NULL, uuidString); 5 CFRelease(puuid); 6 CFRelease(uuidString); 7 return [result autorelease]; 8 } 

uniqueIdentifier在UIDevice.h中的定义如下: 

斩草除根方案github下载地址github。com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5 

透过上述的钻探,大家轻松窥见,无论是使用UDID或是UUID,大家的指标日常皆认为着让客户可以活动注册,而无需账号密码.而利用UDID和UUID作为客商的ID也并不是不要缺欠. 

本文由56net亚洲必赢发布,转载请注明来源

关键词: 必赢56net