我需要在服务器上保存一些用户帐户的唯一标识符,因此我可以在另一个用户设备上确定该帐户标识符已经设置。但我不知道什么可以是一个独特的帐户ID,以及如何让它成为程序化的?
编辑:
我将应用从付费版本转移到免费增值(使用应用内购买)。我需要保存已购买应用的所有用户。所以我创建了服务器并想要保存所有用户。所以我需要帐户的唯一价值,因此用户可以在其他设备上恢复所有购买。
答案 0 :(得分:1)
我建议使用用户的电子邮件地址。如何获得它将提示用户。
然后使用通常的验证,在那里您向该地址发送电子邮件,其中包含用户点击的链接,该链接会发回一个带有唯一密钥的HTTP响应。
要做到这一点,你需要一台服务器。您的应用将连接到服务器,发送用户的帐户信息和电子邮件地址,服务器将撰写电子邮件到该电子邮件地址,包括编码的可点击链接。
现在可能有现成的服务器库。我必须做一些研究才能找到它们。这就是我建议你做的。
答案 1 :(得分:1)
如果您不想从一个用户支持多个设备,则可以使用Vendor-ID,这对于所有ios设备都是唯一的:
UIDevice.currentDevice()。identifierForVendor
或作为字符串:
UIDevice.currentDevice()。identifierForVendor.UUIDString。
否则你应该意识到用户必须在注册时填写的某种登录名。
答案 2 :(得分:1)
我无法判断您是否希望用户启用或不启用iCloud,但如果您期望这样做,为什么不通过获取NSFileManager的ubiquityIdentityToken属性的值来检查iCloud可用性,如下所示: / p>
let token = NSFileManager.defaultManager().ubiquityIdentityToken
根据iCloudDesignGuide,“该属性的值是表示当前活动的iCloud帐户的唯一标记。”并且是我认为你想要得到的。您应该能够使用此值,即使您没有在iCloud中存储任何内容,只要您已为应用程序配置它并且他们已登录并启用了“iCloud Drive”。