根据这个CloudKit overview :
CloudKit also enables your users to anonymously sign in to your apps with their iCloud Apple IDs without sharing their personal information.
我在他们的文档中找不到关于此功能的任何其他信息。我已经有一个带有自己后端的应用程序,所以我不需要 CloudKit 提供的任何后端即服务功能,但我想利用使用 iCloud 帐户登录用户的优势,与我们目前使用 Facebook 和 Twitter 的方式大致相同。
CloudKit 是否可以做到这一点,或者您是否还必须利用其 BAAS 功能才能利用登录功能?
最佳答案
根据他们在 WWDC 上讨论的内容,您可以使用 CKContainer
上的 fetchUserRecordIDWithCompletionHandler:
方法来执行此操作。这将返回对应于当前用户的 CKRecordID
。此 ID 在所有设备上都是稳定的,但对于每个应用程序都是不同的 - 因此,如果同一个人在多个设备上使用您的应用程序,您的应用程序将在所有地方获得相同的结果,但其他应用程序将获得与您的不同的结果。
一旦您获得了 CKRecordID
,您就可以使用 fetchRecordWithID:completionHandler:
查找有限的其他用户数据(我认为是他们的姓名和电子邮件)。此请求将触发对用户的权限警报,因此您只有在他们允许时才会收到。
这不需要您在 CloudKit 中使用任何其他东西。它确实要求用户实际在设备上配置了一个 iCloud 帐户。
关于ios - 使用 iCloud Apple ID 匿名登录应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24458498/