DIDD 和 UUID区别

本文介绍了IMEI、UDID、UUID和deviceToken的区别。IMEI是全球唯一的手机设备标识,UDID在iOS5后不再可通过代码获取。UUID可以通过`identifierForVendor`获取,但删除应用后会改变。deviceToken类似,删除应用后也会改变。通常使用保存在keychain中的UUID作为设备标识符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的”电子串号”,它与每台手机一一对应,而且该码是全世界唯一的。每一部手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。手机用户可以在手机中查到自己手机的IMEI码。 iOS5以后不能再获取了。

UDID是Unique Device Identifier的缩写,是一串由40位16进制数组成的字符串,用以标识唯一的设备,苹果从iOS5开始就移除了通过代码访问UDID的权限,应用试图获取UDID被禁止且不允许上架。现在想通过代码获取是不可能的了,如果你想看看你设备的UDID,可以通过iTunes来查看。对于已越狱了的设备,UDID并不是唯一的.使用Cydia插件UDIDFaker,可以为每一个应用分配不同的UDID.
那么有没有另外的办法来获取用户设备的唯一标识符呢?答案是有的,当然这样的标识符不是苹果隐藏的UDID了,使用OpenUDID开源代码,这个代码通过一些特殊的算法,创建了每一个设备的唯一标识符,你可以拿过来用来识别设备了。

UUID是Universally Unique Identifier的缩写,通过调用[[UIDevice currentDevice]identifierForVendor];
方法可以获取UUID。只要用户没有完全删除应用程序,则这个UUID在用户使用该应用程序的时候一直保持不变。如果用户删除了这个应用程序,然后再重新安装,那么这个UUID已经发生了改变。
deviceToken的原理跟UUID差不多,如果用户删除了这个应用程序,然后再重新安装,那么这个deviceToken已经发生了改变。
我们现在的程序中后台如果需要传入用户设备标识,一般我们取UUID来传入。最理想的就是保存在keychain里面,以此作为标识用户设备的唯一标识符。

直接获取的UUID系统不会存储,每次调用的时候都会获得一个新的UUID标示符
可以使用keychain永久保存达到udid的效果

 CFUUIDRef puuid = CFUUIDCreate( nil );
    CFStringRef uuidString = CFUUIDCreateString(nil, puuid);
    NSString *result = (NSString *)CFBridgingRelease(CFStringCreateCopy( NULL, uuidString));
    NSLog(@"uuuid==>%@",result);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值