gpt4 book ai didi

ios - 如何唯一识别ios设备

转载 作者:技术小花猫 更新时间:2023-10-29 11:20:59 25 4
gpt4 key购买 nike

在我当前的应用程序中,我必须让用户从不同的 iOS 设备登录到他们的帐户。目前我正在从 token 值进行用户身份验证。但为了支持多设备登录,我必须找到另一种方法来做到这一点。

因此,我想到保存设备 uuid 以及用于身份验证和安全性的 token 。然后,我知道我不能使用设备的 uuid,而是必须使用 identifierForVendor,它可能会或可能不会始终提供用户或设备信息。

那么,有人可以建议在 iOS 中为同一用户帐户实现这种多设备登录功能的更好和正确的方法吗?

最佳答案

如您所知,使用设备的 UUID 是不允许的,但是,您可以生成自己的 UUID 并将其存储在设备的 UserDefaults 中。

使用 identifierForVendor 并非 100% 可靠,因为它仅适用于 iOS6 及更高版本,并且用户可以选择不将其提供给您,这使它成为一个糟糕的选择。

这是我前段时间从互联网上复制的一些代码,直到今天仍在使用它,将尝试找到来源并稍后更新我的答案。编辑:Source

这将为您生成 UUID 并将其存储在 UserDefaults 中:

- (NSString *)createUUID
{
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
[[NSUserDefaults standardUserDefaults] setObject:(__bridge NSString *)string forKey:@"UUID"];
[[NSUSerDefaults standardUserDefaults] synchronize];
return (__bridge NSString *)string;
}

每当您需要读取生成的 UUID 时:

- (NSString*)UUID
{
return [[NSUserDefaults standardUserDefaults] ObjectForKey:@"UUID"];
}

现在您也可以选择将自己的用户 ID 附加到该 ID,这样您就可以知道哪个 UUID 链接到哪个用户..

这只是它应该如何工作的粗略草图

关于ios - 如何唯一识别ios设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19179799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com