如何授予discoverUserInfoWithUserRecordID权限?

时间:2014-07-06 11:16:47

标签: swift cloudkit

要通过CloudKit检索实际登录的iCloud用户信息,我需要调用discoverUserInfoWithUserRecordID方法。

其API说:

  

用户必须已授予   CKApplicationPermissionUserDiscoverability权限   容器

它是如何运作的?

2 个答案:

答案 0 :(得分:4)

夫特

CKContainer.defaultContainer().requestApplicationPermission(CKApplicationPermissions.PermissionUserDiscoverability, 
                 completionHandler: {
                      applicationPermissionStatus, error in
                           // check (applicationPermissionStatus == CKApplicationPermissionStatus.Granted)
})

的Objective-C

[[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 

})

异步请求用户的指定权限。

首次在任何用户设备上请求权限时,系统会提示用户授予或拒绝该请求。一旦用户授予或拒绝许可,后续对相同权限的请求(在相同或不同的设备上)不会再次提示用户。 此方法以异步方式运行,并将结果传递给您提供的块。

相关问题