         CNContactStore.fetchAllContacts(keysToFetch: keysToFetch, filter: { !$0.emailAddresses.isEmpty }) { (results, error) in
             finishLoading()
             if let error = error {
-                self.showNoAccessAlert(withError: error)
+                if self.showPermissionAlertAutomatically {
+                    self.showPermissionAlert(error: error)
+                }
             } else if let results = results {
                 self.contacts = results.sorted(by: { (lhs, rhs) -> Bool in
                     return lhs.givenName < rhs.givenName

        }
    }
}

    private var selectedContacts: [CNContact] = []
    private let completion: Completion
    private let infoText: String?
    private let showPermissionAlertAutomatically: Bool
    
    
    // MARK: - Init
