与iCloud帐户关联的唯一标识符

与iCloud帐户关联的唯一标识符,icloud,udid,Icloud,Udid,我想使用一个代码来识别用户,而不需要询问他们的电子邮件地址或其他敏感信息,当她更换设备时,这些信息可能也会跟着她。很久以前,我可靠地实现了以下代码: NSString *strApplicationUUID=nil; +(NSString*) sharedUdid{ if (!strApplicationUUID){ NSString *appName=[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSStr

我想使用一个代码来识别用户,而不需要询问他们的电子邮件地址或其他敏感信息,当她更换设备时,这些信息可能也会跟着她。很久以前,我可靠地实现了以下代码:

NSString *strApplicationUUID=nil;
+(NSString*) sharedUdid{
    if (!strApplicationUUID){
         NSString *appName=[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString*)kCFBundleNameKey];
         strApplicationUUID = [SSKeychain passwordForService:appName account:@"incoding"];
        if (strApplicationUUID == nil) {
            strApplicationUUID=[[NSUserDefaults standardUserDefaults] objectForKey:@"udid"];
            if (!strApplicationUUID) strApplicationUUID=[[[UIDevice currentDevice] identifierForVendor] UUIDString];
            else strApplicationUUID  = [[NSUUID UUID] UUIDString];
           [SSKeychain setPassword:strApplicationUUID forService:appName account:@"incoding"];
        }

    }
    return strApplicationUUID;
}

不幸的是,我发现为每个用户生成了唯一的标识符。因此,我暂时改用令牌,尽管它很长,而且它与单个设备相连。有更好的解决方案吗?

我转而使用CloudKit标识符