1

cloudkit CKContainer requestApplicationPermission() 方法显示一个警报,仅根据文档要求用户提供一次可发现权限,并且此方法的任何未来调用都不再显示该警报。

来自以下文档:CKContainer.requestApplicationPermission() “第一次在用户的任何设备上请求权限时,系统会提示用户授予或拒绝该请求。一旦用户授予或拒绝权限,后续请求相同的权限(在相同或不同的设备上)不再提示用户。”

那么,如果用户改变了主意,我希望我的应用程序询问用户他是否改变了主意并再次显示警报,会发生什么情况呢?必须有一种方法,但我找不到任何关于它的文档。

4

1 回答 1

0

首先,检查用户之前是否拒绝了该权限:

CKContainer.statusForApplicationPermission()

如果在 completionHandler 中返回的状态是CKApplicationPermissionStatus.Denied,显示一个 UIAlertController 询问用户是否想在设置中启用它。

如果用户说是,您可以像这样进入您的应用设置页面:

if let settingsURL = NSURL(string: UIApplicationOpenSettingsURLString) {
    UIApplication.sharedApplication().openURL(settingsURL)
}
于 2016-08-03T08:37:50.717 回答