iOS_获取设备标识符

UDID

设备的唯一标识符,也就是设备的序列号,在iOS2.0版本中UIDevice提供了一个获取设备唯一标识符的方法uniqueldentifier,这个方法也是为一个可以确认获取此标识符的方法。但是,这个方法已被废弃,同时,苹果也不允许获取UDID的APP上线

UUID

UUID获取方式如下:

+ (NSString *)getEquipmentOfUUID{
    CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault);
    CFStringRef strRef = CFUUIDCreateString(kCFAllocatorDefault, uuidRef);
    NSString *resultString = [(__bridge NSString *)strRef stringByReplacingOccurrencesOfString:@"-" withString:@""];
    CFRelease(strRef);
    CFRelease(uuidRef);
    return resultString;
}

IDFA

广告id,同一设备上所有的APP获取到的值是相同的,用于追踪用户而设的,用于可以通过设置->隐私->广告->广告追踪进行设置,可能取不到,苹果设备默认是开的。
PS:此值可能取不到,不能作为主业务的id。
IDFA获取方式如下:

 #import <AdSupport/AdSupport.h>  // 导入此头文件
+ (NSString *)getEquipmentOfIDFA{
    NSString *resultString = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
    if ([resultString containsString:@"-"]) {
        resultString = [resultString stringByReplacingOccurrencesOfString:@"-" withString:@""];
    }
    return resultString;
}

IDFV

用于Vender表示标识用户用的,Vender是指应用提供商,每个设备在所属同一个Vender的应用里,都有相同的值。通过BundleID的反转的前两部分进行匹配,如果相同就是同一个Vender。(例如com.370969280.app1 和 com.370969280.app2 就是同一个Vender,IDFV值就相同)。
PS:1、只要APP1与APP2不全部删除,此值就不会发生改变;全部删除后,再安装APP,此值将会发生改变。
例如:先安装APP1,再安装APP2,两个APP的IDFV值相同;删除APP2保留APP1,然后重装APP2,此时APP2获取的IDFV值依旧与APP1相同。
2、此值一定可以获取到。
IDFV获取方式如下:

#import <UIKit/UIKit.h> // 导入此头文件
+ (NSString *)getEquipmentOfIDFV{
    NSString *resultString = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
    if ([resultString containsString:@"-"]) {
        resultString = [resultString stringByReplacingOccurrencesOfString:@"-" withString:@""];
    }
    return resultString;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值