iCloud / CloudKit 用户的唯一标识符

Posted

技术标签:

【中文标题】iCloud / CloudKit 用户的唯一标识符【英文标题】:Unique Identifier for iCloud / CloudKit User 【发布时间】:2016-07-12 19:41:30 【问题描述】:

是否有更好的解决方案(然后是下面可能的解决方法)来获取 iCloud / CloudKit 用户的 UUID? 因此,可以检测用户是否已经使用相同的 iCloud 帐户(在不同的设备上)做了某事。

可能的解决方法:

创建 UUID 并将其存储在私有数据库中 缺点:使用额外的数据库请求

【问题讨论】:

【参考方案1】:

我找到了一个可能的解决方案:

斯威夫特 2

CKContainer.default().fetchUserRecordID(completionHandler:  (recordID: CKRecordID?, error: NSError?) in
    print(recordID?.recordName) // UUID String for iCloud user
)

斯威夫特 3

CKContainer.default().fetchUserRecordID(completionHandler:  (recordID: CKRecordID?, error: Error?) in
    print(recordID?.recordName) // UUID String for iCloud user
)

此 ID 在使用相同 iCloud 帐户的所有设备上都是相同的。

【讨论】:

对于最新版本的 swift 将 'NSError' 更改为 'Error'

以上是关于iCloud / CloudKit 用户的唯一标识符的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Cloudkit 快速从 iCloud 获取当前用户信息

清除/清除 CloudKit 容器的所有用户 iCloud 记录

从当前 iCloud 用户获取 CloudKit 记录

CloudKit 和优先级

CloudKit App 处理不同的 iCloud 帐户

通过免费的 Apple 帐户使用 CloudKit