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