48 lines
1.0 KiB
Objective-C
48 lines
1.0 KiB
Objective-C
//
|
|
// JXUUID.m
|
|
// 设备标识符
|
|
//
|
|
// Created by 曾觉新 on 2017/8/24.
|
|
// Copyright © 2017年 曾觉新. All rights reserved.
|
|
//
|
|
|
|
#import "JXUUID.h"
|
|
#import <UIKit/UIKit.h>
|
|
#import "PDKeyChain.h"
|
|
#import <AdSupport/AdSupport.h>
|
|
|
|
static NSString *const uuidKey = @"com.JXUUID";
|
|
|
|
@implementation JXUUID
|
|
|
|
+ (nonnull NSString *)uuid
|
|
{
|
|
static NSString *uuid;
|
|
static dispatch_once_t onceToken;
|
|
dispatch_once(&onceToken, ^{
|
|
uuid = [PDKeyChain objectForKey:uuidKey];
|
|
if (uuid && uuid.length > 0) {
|
|
} else {
|
|
uuid = [[NSUUID UUID] UUIDString];
|
|
[PDKeyChain setObject:uuid forKey:uuidKey];
|
|
}
|
|
});
|
|
return uuid;
|
|
}
|
|
+ (nonnull NSString *)idfa
|
|
{
|
|
static NSString *idfa;
|
|
static dispatch_once_t onceToken;
|
|
dispatch_once(&onceToken, ^{
|
|
idfa = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
|
|
});
|
|
return idfa;
|
|
}
|
|
|
|
+ (nonnull NSString *)systemUUID
|
|
{
|
|
return [UIDevice currentDevice].identifierForVendor.UUIDString;
|
|
}
|
|
|
|
@end
|