要通过CloudKit检索实际登录的iCloud用户信息,我需要调用discoverUserInfoWithUserRecordID
方法。
其API说:
用户必须已授予 CKApplicationPermissionUserDiscoverability权限 容器
它是如何运作的?
答案 0 :(得分:4)
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)
});
}
答案 1 :(得分:1)
var defaultContainer = CKContainer.defaultContainer()
var publicDatabase = defaultContainer.publicCloudDatabase
defaultContainer.requestApplicationPermission(.PermissionUserDiscoverability, {status, error in
})
异步请求用户的指定权限。
首次在任何用户设备上请求权限时,系统会提示用户授予或拒绝该请求。一旦用户授予或拒绝许可,后续对相同权限的请求(在相同或不同的设备上)不会再次提示用户。 此方法以异步方式运行,并将结果传递给您提供的块。