7

根据此CloudKit 概述

CloudKit 还允许您的用户使用他们的 iCloud Apple ID 匿名登录您的应用程序,而无需共享他们的个人信息。

我在他们的文档中找不到有关此功能的任何其他内容。我已经有一个带有自己后端的应用程序,因此我不需要 CloudKit 提供的任何后端即服务功能,但我想利用用户使用他们的 iCloud 帐户登录的优势,就像我们目前对 Facebook 和 Twitter 所做的一样。

CloudKit 是否可以做到这一点,或者您是否还必须利用他们的 BAAS 功能才能利用登录?

4

2 回答 2

9

根据他们在 WWDC 上讨论的内容,您可以fetchUserRecordIDWithCompletionHandler:使用CKContainer. 这将返回CKRecordID与当前用户相对应的 a。这个 ID 在设备间是稳定的,但对于每个应用程序是不同的——因此,如果同一个人在多个设备上使用您的应用程序,您的应用程序将在任何地方获得相同的结果,但其他应用程序会从您的应用程序中获得不同的结果。

一旦你有了,CKRecordID你就可以使用fetchRecordWithID:completionHandler:. 此请求将向用户触发权限警报,因此您只有在他们允许的情况下才能获得它。

这不需要您在 CloudKit 中使用其他任何东西。它确实要求用户在设备上实际配置了一个 iCloud 帐户。

于 2014-06-27T19:30:54.003 回答
2

权限警报只会在您调用时弹出-[CKContainer requestApplicationPermission:CKApplicationPermissionUserDiscoverability...]

如果用户授予权限 ( CKApplicationPermissionStatusGranted),那么您可以通过运行来获取用户的名字和姓氏CKDiscoverUserInfosOperation

请求可发现性意味着您可以看到用户的名字和姓氏,并且容器的任何其他用户都可以通过电子邮件地址找到他们的用户记录 ID,或者通过用户记录 ID 查找他们的名字和姓氏。

于 2015-02-21T01:15:00.120 回答