要通过 CloudKit 检索实际登录的 iCloud 用户信息,我需要调用该discoverUserInfoWithUserRecordID
方法。
它的 API 说:
用户必须已授予此容器的 CKApplicationPermissionUserDiscoverability 权限。
它是如何工作的?
CKContainer.defaultContainer().requestApplicationPermission(CKApplicationPermissions.PermissionUserDiscoverability,
completionHandler: {
applicationPermissionStatus, error in
// check (applicationPermissionStatus == CKApplicationPermissionStatus.Granted)
})
[[CKContainer defaultContainer] requestApplicationPermission:CKApplicationPermissionUserDiscoverability
completionHandler:^(CKApplicationPermissionStatus applicationPermissionStatus, NSError *error) {
// check(applicationPermissionStatus == CKApplicationPermissionStatusGranted)
});
}
var defaultContainer = CKContainer.defaultContainer()
var publicDatabase = defaultContainer.publicCloudDatabase
defaultContainer.requestApplicationPermission(.PermissionUserDiscoverability, {status, error in
})
异步向用户请求指定的权限。
当您第一次在用户的任何设备上请求权限时,系统会提示用户授予或拒绝该请求。一旦用户授予或拒绝权限,随后对相同权限的请求(在相同或不同的设备上)不会再次提示用户。此方法异步运行并将结果传递到您提供的块。