ios - 使用 iCloud Apple ID 匿名登录应用程序

标签 ios iphone icloud ios8 cloudkit

根据这个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/

相关文章:

ios - 在 Xcode 7.2 中如何在没有苹果开发者程序且没有连接设备的情况下生成 IPA 文件?

php - 通过 PHP 广播推送通知

objective-c - 启用 iCloud - 停止在应用程序启动时显示打开的文件?

iphone - 致命的 'section too large, can' t 在 gcc 中编码内存地址(iPhone 应用程序)

ios - UIDocumentPickerViewController -> "No Documents"因为 iCloud 不可用

ios - 如何修复 CloudKit Dashboard 中的 ZONE_NOT_FOUND 错误?

ios - 自动写入文件不起作用

ios - 如何在 Storyboard 中处理添加到 ViewController 主视图之外的 View ?

ios - 确定您的应用程序是否可以在不启动请求的情况下访问日历?

ios - iOS如何在Shared/AppGroup/xxx/Library/Sounds中播放自定义通知声音文件