iOS uuid+keychain获取设备唯一标识

//保存设备平台唯一标识
- (void)savePlatformIdentifier
{
    CFUUIDRef uuidRef = CFUUIDCreate(nil);
    CFStringRef uuidStr = CFUUIDCreateString(kCFAllocatorDefault, uuidRef);
    NSString *uuid = (NSString*)CFBridgingRelease(CFStringCreateCopy(NULL, uuidStr));
    
    CFRelease(uuidRef);
    CFRelease(uuidStr);
    [[AppKeyChainManager sharedManager] saveKeyValue:uuid keyService:KEY_UUID];
}

//获取设备平台唯一标识
- (NSString*) getPlatformIdentifier
{
    NSString *SERVICE_NAME = @"*******************";//最好用程序的bundle id
    NSString *str =  [SFHFKeychainUtils getPasswordForUsername:@"UUID" andServiceName:SERVICE_NAME error:nil];  // 从keychain获取数据
    if ([str length]<=0)
    {
        str  = [[[UIDevice currentDevice] identifierForVendor] UUIDString];  // 保存UUID作为手机唯一标识符
        [SFHFKeychainUtils storeUsername:@"UUID"
                             andPassword:str
                          forServiceName:SERVICE_NAME
                          updateExisting:1
                                   error:nil];  // 往keychain添加数据
    }
    return str;
}

你可能感兴趣的:(iOS uuid+keychain获取设备唯一标识)