我想使用代码来识别用户,而不会询问他们的电子邮件地址或其他敏感信息,这些信息也可能在她更换设备时跟随她。很久以前,我匆匆实施了以下代码:
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;
}
我遗憾地发现为每个用户生成了所有唯一的标识符。所以我暂时切换到使用令牌,尽管它的长度和事实它链接到单个设备。有没有更好的解决方案?
答案 0 :(得分:0)
我切换到使用CloudKit标识符。