2016-07-07 17 views
8

Mój kod ulega awarii po otrzymaniu prośby o dostęp do CNContactStore. Wszelkie pomysły, jeśli jest to problem z numerem beta?Swift 3/Xcode 8 - CNContact [dostęp] <Private>

var addressBookStore = CNContactStore() 

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

w

// Ten komunikat konsola jest wyzwalany w katastrofie - Messenger [836: 1175155] [Dostęp] prywatny

awaria występuje na tej linii, a nawet uniemożliwiając nawet drukując błąd !

góry dzięki

Odpowiedz

21

Jak sugeruje tutaj: https://developer.apple.com/reference/contacts

Ważne

IOS aplikacja powiązana lub po iOS 10.0 musi zawierać w swojej Info.plist pliku opisie Wykorzystanie klucze do typów danych, których potrzebuje, aby uzyskać dostęp do konta, albo ulegnie awarii. Aby uzyskać dostęp do danych kontaktów w szczególności, musi to zawierać NSContactsUsageDescription.

Trzeba addd klucz NSContactsUsageDescription w Info.plist pliku

enter image description here

Wtedy okno autoryzacji dostaniesz. Bez tego kluczowa aplikacja zawiesi się.

enter image description here

let addressBookStore = CNContactStore() 

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

takie proste rozwiązanie. Nie mogę uwierzyć, że to przegapiłem! wielkie dzięki – InfinitePod

+1

Niesamowita wskazówka !!! TY! –

Powiązane problemy