2016-07-07 80 views
8

Il mio codice si arresta non appena tenta di richiedere l'accesso allo CNContactStore. Qualche idea se si tratta di un problema beta?Swift 3/Xcode 8 - CNContact [access] <Private>

var addressBookStore = CNContactStore() 

addressBookStore.requestAccess(for: .contacts) { (granted, error) 

in

// Questo messaggio console viene attivato presso l'incidente - Messenger [836: 1.175.155] [accesso] privato

l'incidente si verifica in questa linea e addirittura impedendo anche la stampa l'errore !

Grazie in anticipo

risposta

21

come suggerito qui: https://developer.apple.com/reference/contacts

Importante

Un iOS collegati o dopo iOS 10.0 deve includere nella sua Info.plist il file descrizione di utilizzo chiavi per i tipi di dati di cui ha bisogno per l'accesso o si bloccherà. Per accedere in modo specifico ai dati dei contatti, è necessario che includa NSContactsUsageDescription.

dovete addd chiave NSContactsUsageDescription nel file Info.plist

enter image description here

Poi si aprirà finestra di autorizzazione. Senza questa app chiave si bloccherà.

enter image description here

let addressBookStore = CNContactStore() 

addressBookStore.requestAccess(for: CNEntityType.contacts) { (isGranted, error) in 
    print(isGranted) 
    print(error) 
} 
+3

una soluzione così semplice. Non posso credere di averlo perso! grazie mille – InfinitePod

+1

Consiglio stupendo !!! TY! –