欢迎光临
我们一直在努力

iOS不同IDS说明

1.Vindor标识符

identifierForVendor

一个英文字符串,对于相同的产品商(这里指com.zhang.*,也就是前缀一样),其唯一的标识设备。

* 这个值对于相同的产品商在相同的设备上是相同的。

* 这个值在不同的产品商在相同的设备上是不同的。

* 在不同的设备上是不同的(不管产品商是否一致)。

一般来说,产品商是根据AppStore上的data确定的.如果app不是从AppStore下载安装的(例如企业版app和还在development的app),那么这个标识符是根据app的bundle id计算出来的,是bundle id的反转DNS格式。

在iOS6上,前两个字符串用来(com.zhang.demo中的com.zhang.)生成vendor id,如果bundle id只有一个组成(demo),那么就用整个bundle id来生成。

在iOS7,除了最后一个组件,其他的都用来生成vendor id,如果bundle id只有一个组成(流入demo),那么就用整个bundle id来生成。

例如:

如果它的值是空的,等待并且稍后重新获取该值,这种情况是可能发生的,例如用户重启了手机,而且在用户解锁之前。

当你使用广告服务的时候,使用advertisingIdentifier,而不是使用该属性。

获取方式:

NSLog(@”%@”,[[[UIDevicecurrentDevice]identifierForVendor]UUIDString]);

2.IDFA

advertisingIdentifier

一个英文字符串,对于每一个设备是唯一的,仅仅用于广告服务。不像identifierForVendor,如果相同的公司出品的产品的com.shuquwangluo.相同,identifierFOrVendor是返回所有相同给的值。这个值是可能改变的,例如用户抹去设备,因此开发者不能去缓存它。

注意:在iOS10和以后,当用户限制广告踪迹(在设置—》隐私—》广告—》限制广告踪迹)advertisingIdentifier会返回所有的0。

如果它的值是空的,等待并且稍后重新获取该值,这种情况是可能发生的,例如用户重启了手机,而且在用户解锁之前。

测试:

当我没有限制广告踪迹之前:
539477AE-36AE-4E33-B22B-B9BF30BB2D07

当我限制广告踪迹后:
00000000-0000-0000-0000-000000000000

获取方式:

NSLog(@”%@”,[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]);

3.CFUUID

从iOS2.0开始就已经出现了CFUUID,它是CoreFoundation的一部分,因此属于C语言风格。CFUUIDCreate方法用来创建CFUUIDRef,并且可以获取一个响应的字符串。

获取方式:

CFUUIDRef cfuuid = CFUUIDCreate(kCFAllocatorDefault);

NSString *cfuuidStr = (NSString *)CFBridgingRelease(CFUUIDCreateString(kCFAllocatorDefault, cfuuid));

NSLog(@”%@”,cfuuidStr);

这个CFUUID值系统并没有存储,每次调用CFUUIDCreate,系统都会返回一个新的唯一标识符。如果你希望存储这个值,需要用NSUserDefault或者其他存储方式进行存储。

例如:
2A2F49D3-6473-4558-9035-26E14F53691D

4.NSUUID

创建和返回一个UUID,该UUID是RFC4122版本的随机字节。获取方式:

[[NSUUIDUUID] UUIDString]

和CFUUID一样,这个值系统也不会存储,每次调用的时候都会获取一个新的唯一标识符。如果要存的话需要自己操作。

5.UDID

UDID在iOS5以及以后就被启用了。在SDK里面没有找到相关的介绍,这里就不在介绍了。

下面是用Console输出的结果:


2016-09-2709:32:13.540549IDADemo[3837:1410105]1、
vender:2F527F67-6800-48F2-B3CF-42697B6BDB3F2016-09-2709:32:13.540596IDADemo[3837:1410105]2、
NSUUID:A8C331F4-6ADD-4025-BF7C-0E83275BC1B12016-09-2709:32:13.540646IDADemo[3837:1410105]3、
CFUUID:324FF6C1-8962-492D-8215-7F2763632EDA2016-09-2709:32:13.541177IDADemo[3837:1410105]4、
idfa:539477AE-36AE-4E33-B22B-B9BF30BB2D072016-09-2709:32:13.541203IDADemo[3837:1410105]5、UDID:已经弃用,SDK里面没有找到相关介绍

总结

1.UUIDs(Universally Unique Identifieers)也被叫做GUIDs(Globally Unique Identifiers)或者IIDs(Interface Identifiers),它是一个128为字节的值。标准的UUIDs是由ASCII代表的,例如:
68753A44-4D6F-1226-9C60-0050E4C00067 。

2.以上的各种ids,除了CFUUID不是NSUUID类之外,其他的几个都是NSUUID类型。

赞(0) 打赏
未经允许不得转载:划界MBA » iOS不同IDS说明

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册