CNContacts删除访问权限

时间:2016-10-31 15:35:51

标签: ios swift contacts cncontact

我在我的应用程序中集成了Contacts框架,并且该应用程序仍然有权访问用户联系人,但现在我正在寻找一种方法来删除授权,如果用户决定这样做的话。我找不到这样做的方法,有没有人有想法? 提前谢谢。

这是我的AppDelegate上的授权方法,它总是返回accessGranted = true

    func requestForAccess(completionHandler: @escaping (_ accessGranted: Bool) -> Void) {
    let authorizationStatus = CNContactStore.authorizationStatus(for: CNEntityType.contacts)

    switch authorizationStatus {
    case .authorized:
        completionHandler(true)

    case .denied, .notDetermined:
        self.contactStore.requestAccess(for: CNEntityType.contacts, completionHandler: { (access, accessError) -> Void in
            if access {
                completionHandler(access)
            }
            else {
                if authorizationStatus == CNAuthorizationStatus.denied {
                    DispatchQueue.main.async(execute: { () -> Void in

                    })
                }
            }
        })

    default:
        completionHandler(false)
    }
}

这是我的ViewController上的代码,我在那里检查用户是否已获得授权,如果不是,则要求他们授权。

   AppDelegate.getAppDelegate().requestForAccess { (accessGranted) -> Void in
        if accessGranted {
         self.iCloudConnected = true
         self.fetchContacts()
        }else{
        self.iCloudConnected = false
        }
        self.tableView.reloadData()
    }

0 个答案:

没有答案