感谢您花时间和兴趣阅读本文并希望能帮助我。
我需要一个唯一的 IOS 用户标识符,我所说的唯一用户标识符是 Apple 提供的唯一字符串,它对用户而非设备是唯一的,这意味着它将在不同设备之间保持相同。我考虑过 Apple ID 或类似的东西,但这是不可能的,因为 Apple 不提供它(至少我不知道),但我想要类似的东西。
它不能是 UDID,因为(除了被弃用)它不是跨设备持久的。我希望这样做是为了验证用户身份,而无需用户登录或注册。可以这样做,因为某些应用程序会这样做。我没有登录或使用其他设备进行任何操作,但它对我进行了身份验证。我原以为是 Apple ID,但这是不可能的。
我检查了这个答案:iOS unique user identifier。似乎它可能是解决方案,但我不太明白,因为我看不出它对每个新用户来说都是独一无二的(能够区分多个用户和同一个用户,但是不同的设备)。
我非常感谢阅读本文并试图提供帮助的人们。谢谢
PD:我使用 Titanium 的 Appcelerator,而不是 Apple 的 IOS SDK 或类似的东西。但这并不重要,我只想让流程能够使用 Titanium 的 Appcelerator 来完成
PS:注意:
谢谢你的回答,这么快!我已经读了很多遍了,我就是不明白。你们能帮我更好地理解它吗?
我理解的方式是这样的。
1.-使用默认服务创建一个 UUID(每次安装都会更改) 2.-将其存储到钥匙串(据我所知,钥匙串上保存的值是设备本地的)(我想我会把它放在应用程序的 id-com.bla.bla-),也是一个默认帐户,我认为我会将其保留为“用户”。
这都是本地的,所以每次安装都会这样做,每次安装都有不同的 UUID(不是每个用户都必须) 3.-将 UUID 保存到 NSUserDefaults。4.-将 UUID 保存到云端的公共数据存储中。(云端数据存储中的 UUID、Keychain 和 NSUserDefaults 应该相同)
因此,如果运行 5 次安装,云的公共数据存储应该是这样的
An Array of 5 values:
[
XXXX-EEEEE-FFFFF,
SFSDFFWE-WERW-SDFS,
XXXX-XXXXX-XXXXX,
ZZZZZ-ZZZZ-ZZZZX,
XZXZZX-ZXZXZXS-ADADS
]
5.-每次运行应用程序时都会执行所有这些,首先检查公共云存储中是否存储了值。这是我感到困惑的地方,不同的设备如何知道您的 UUID?我的意思是,有 5 种不同的 UUID 可供选择。也许它不应该保存在公共数据存储中,而是保存在私有数据存储中,但为此您还需要识别每个用户。这是我很困惑的地方。
如果没有设置 UUID,则执行最后 4 步。
所以,我在第五步感到困惑,大多数人都理解那个解决方案,没有更多的解释,所以我一定是对某些东西的工作方式一无所知,也许是云服务?我认为问题在于我可能不了解 iCloud 是如何工作的,以及它是如何存储它的值的。我只是不明白运行应用程序的 X 的第 5 个(随机数,它可能是第 2 个或第 2000 个)设备如何知道 UUID XXX... 是用户 X 的 UUID,而不是用户的 UUID Z。
再次感谢您这么快的回答,我想也许我得等几天,而不是几分钟。原谅我的无知,我在这件事上有点菜鸟,但我想学习。被这个问题困扰了好几天