iCloud/CloudKit用户的唯一标识符

123*_*321 0 cocoa cocoa-touch icloud cloudkit

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

可能的解决方法:

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

123*_*321 5

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

斯威夫特2

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

斯威夫特3

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

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