iCloud / CloudKit用户的唯一标识符

时间:2016-07-12 19:41:31

标签: cocoa cocoa-touch icloud cloudkit

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

可能的解决方法:

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

1 个答案:

答案 0 :(得分:5)

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

Swift 2

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

Swift 3

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

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