How to grant discoverUserInfoWithUserRecordID permission?

我们两清 提交于 2019-12-21 06:35:30

问题


To retrieve actual logged in iCloud user's info via CloudKit, I need to call the discoverUserInfoWithUserRecordID method.

Its API says:

The user must have granted the CKApplicationPermissionUserDiscoverability permission for this container.

How does it work?


回答1:


Swift

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)
                 });
}



回答2:


var defaultContainer = CKContainer.defaultContainer()
var publicDatabase = defaultContainer.publicCloudDatabase
defaultContainer.requestApplicationPermission(.PermissionUserDiscoverability, {status, error in 

})

Requests the specified permission from the user asynchronously.

The first time you request a permission on any of the user’s devices, the user is prompted to grant or deny the request. Once the user grants or denies a permission, subsequent requests for the same permission (on the same or separate devices) do not prompt the user again. This method runs asynchronously and delivers the results to the block you provide.



来源:https://stackoverflow.com/questions/24595247/how-to-grant-discoveruserinfowithuserrecordid-permission

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!