二つのスニペットは役立つはずたいです。私のダブルあなたが同じスコープ内の両方のスニペットを使用する場合は許可を取得するには...やって
を必要としない店、宣言した:アドレス帳を読むには
let store = CNContactStore()
store.requestAccess(for: .contacts) { (isGranted, error) in
// Check the isGranted flag and proceed if true
}
を(私はランダムにいくつかのキーが含まれていますが、あなたに適用されるものを選択することができます。):
let contactStore = CNContactStore()
let keys = [CNContactPhoneNumbersKey, CNContactFamilyNameKey, CNContactGivenNameKey, CNContactNicknameKey, CNContactPhoneNumbersKey]
let request1 = CNContactFetchRequest(keysToFetch: keys as [CNKeyDescriptor])
try? contactStore.enumerateContacts(with: request1) { (contact, error) in
for phone in contact.phoneNumbers {
// Whatever you want to do with it
}
}
公式ドキュメントは、この種の質問を開始するのに適しています。 –