gpt4 book ai didi

IOS 跨设备唯一用户标识符

转载 作者:可可西里 更新时间:2023-11-01 03:56:18 24 4
gpt4 key购买 nike

感谢您花时间和兴趣阅读本文,希望能帮到我。

我需要一个适用于 IOS 的唯一用户标识符,我所说的唯一用户标识符是 Apple 提供的唯一字符串,它对用户而非设备是唯一的,这意味着它将在设备之间保持不变。我考虑过 Apple ID 或类似的东西,但这是不可能的,因为 Apple 不提供它(至少我不知道),但我想要类似的东西。

它不能是 UDID,因为(除了被弃用之外)它不是跨设备持久的。我希望这样做是为了验证用户身份,而无需用户登录或注册。这样做是可能的,因为有些应用程序会这样做。我没有登录或使用其他设备进行任何操作,但它对我进行了身份验证。我原以为它与 Apple ID 相关,但这是不可能的。

我检查了这个答案:iOS unique user identifier .似乎这可能是解决方案,但我不太明白,因为我看不出它对每个新用户来说都是独一无二的(能够区分多个用户和同一用户,但在不同的设备)。

我非常感谢阅读本文并试图提供帮助的人们。谢谢

PD:我使用 Titanium 的 Appcelerator,而不是 Apple 的 IOS SDK 或类似的东西。但这并不重要,我只是想让流程能够使用 Titanium 的 Appcelerator 来完成

附注:

谢谢你这么快的回答!我已经读了很多遍,但我就是不明白。你们能帮助我更好地理解它吗?

我的理解是这样的。

1.-创建一个 UUID(随每次安装而变化)2.-使用默认服务将它存储到钥匙串(keychain)(据我所知,钥匙串(keychain)上保存的值是设备本地的)(我想我会把它和应用程序的 id-com.bla.bla- 放在一起),还有一个默认帐户,我想我会把它保留为“用户”。

这都是本地的,所以每次安装都会这样做,每次安装都有不同的 UUID(不是每个用户都需要)3.-将 UUID 保存到 NSUserDefaults。4.-将UUID保存到云端的公共(public)数据存储中。(云端数据存储中的UUID、Keychain和NSUserDefaults应该是相同的)

所以,如果运行 5 个安装,云的公共(public)数据存储应该是这样的

An Array of 5 values:
[
XXXX-EEEEE-FFFFF,
SFSDFFWE-WERW-SDFS,
XXXX-XXXXX-XXXXX,
ZZZZZ-ZZZZ-ZZZZX,
XZXZZX-ZXZXZXS-ADADS
]

5.-每次运行应用程序时都会执行所有这些操作,首先检查公共(public)云存储中是否存储了值。这是我感到困惑的地方,不同的设备如何知道您的 UUID 是哪个?我的意思是,有 5 种不同的 UUIDS 可供选择。也许它不应该保存在公共(public)数据存储中,而是保存在私有(private)数据存储中,但为此您还需要识别每个用户。这就是我很困惑的地方。

如果没有设置UUID,执行最后4步。

所以,我在第 5 步感到困惑,大多数人都理解该解决方案,没有任何更多解释,所以我一定对某些东西的工作方式一无所知,也许是云服务?我认为问题在于,也许我不了解 iCloud 的工作原理,以及它如何存储它的值。我只是不明白运行应用程序的 X 的第 5 个(随机数,它可能是第 2 个或第 2000 个)设备如何知道 UUID XXX ... 是用户 X 的 UUID,而不是用户的 UUID Z.

再次感谢您这么快的回答,我想我可能要等几天,而不是几分钟。原谅我的无知,我对这件事有点菜鸟,但我想学习。被这个问题困了好几天

最佳答案

您提到的答案是识别您的用户的正确方法。解决方案是保存称为 UUID(唯一用户 ID)的标识值,而不是 UDID(唯一设备 ID)。

对于作为开发者的您来说,唯一的缺点当然是用户可以删除并再次安装该应用程序并拥有不同的 ID。

关于IOS 跨设备唯一用户标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11299927/

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