[ios] 연락처 가져오기

iOS 앱에서 연락처를 가져오는 것은 사용자의 연락처 정보를 활용하여 다양한 기능을 제공하는 데 유용합니다. iOS에서는 연락처 프레임워크 및 사용자 권한 등을 이용하여 연락처 정보를 가져올 수 있습니다. 이 글에서는 Swift를 사용하여 iOS 연락처에서 가져온 연락처 정보를 다루는 방법에 대해 설명하겠습니다.

연락처 접근 권한 요청

iOS에서는 사용자의 연락처 정보에 접근하기 위해 권한을 요청해야 합니다. Info.plist 파일에 NSContactsUsageDescription 키를 추가하여 연락처에 접근하는 목적을 설명하는 메시지를 포함해야 합니다.

<key>NSContactsUsageDescription</key>
<string>연락처에 접근하여 친구 목록을 표시합니다.</string>

연락처 가져오기

Swift에서는 Contacts 프레임워크를 사용하여 연락처 정보를 가져올 수 있습니다. 다음은 연락처에서 이름과 전화번호를 가져오는 간단한 예제 코드입니다.

import Contacts

func fetchContacts() {
    let store = CNContactStore()
    store.requestAccess(for: .contacts, completionHandler: { (granted, error) in
        if granted {
            let keys = [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactPhoneNumbersKey] as [CNKeyDescriptor]
            let request = CNContactFetchRequest(keysToFetch: keys)
            do {
                try store.enumerateContacts(with: request, usingBlock: { (contact, pointer) in
                    let firstName = contact.givenName
                    let lastName = contact.familyName
                    let phoneNumbers = contact.phoneNumbers
                    for number in phoneNumbers {
                        let phoneNumber = number.value.stringValue
                        print(firstName, lastName, phoneNumber)
                    }
                })
            } catch {
                print("Error fetching contacts")
            }
        } else {
            print("Permission denied")
        }
    })
}

위의 코드에서 CNContactStore를 사용하여 연락처에 접근합니다. 사용자가 권한을 허용한 경우, CNContactFetchRequest를 사용하여 이름 및 전화번호와 같은 필요한 정보를 가져올 수 있습니다.

위의 단계를 따라 하면 iOS 앱에서 연락처 정보를 가져와 활용할 수 있습니다.

이상으로 iOS 앱에서 연락처를 가져오는 방법을 알아보았습니다. 연락처 정보를 적절히 활용하여 다양한 기능을 개발해보세요!

더 많은 정보는 Apple developer 문서를 참고할 수 있습니다.