[ios] ContactsUI에서 연락처 뷰 컨트롤러를 만드는 방법은 무엇인가요?

ContactsUI 프레임워크의 CNContactPickerViewController 클래스를 사용하여 연락처를 보여주는 뷰 컨트롤러를 만들 수 있습니다. 이를 위해 먼저 import ContactsUI 문을 추가하여 ContactsUI 프레임워크를 임포트해야 합니다.

뷰 컨트롤러를 생성하려면 CNContactPickerViewController의 인스턴스를 만들고 델리게이트(delegate)를 설정해야 합니다. 델리게이트는 사용자가 연락처를 선택하거나 취소할 때 발생하는 이벤트를 처리합니다.

아래는 CNContactPickerViewController를 사용하여 연락처 뷰 컨트롤러를 만드는 예시 코드입니다.

import ContactsUI

class YourViewController: UIViewController, CNContactPickerDelegate {
    func showContactPicker() {
        let contactPicker = CNContactPickerViewController()
        contactPicker.delegate = self
        present(contactPicker, animated: true, completion: nil)
    }

    func contactPicker(_ picker: CNContactPickerViewController, didSelect contact: CNContact) {
        // 선택된 연락처 정보를 처리하는 로직을 구현합니다.
    }

    func contactPickerDidCancel(_ picker: CNContactPickerViewController) {
        // 연락처 선택이 취소되었을 때의 처리 로직을 구현합니다.
    }
}

위 코드에서는 CNContactPickerViewController의 인스턴스를 생성하고 델리게이트를 설정한 후, present(_:animated:completion:) 메서드를 사용하여 뷰 컨트롤러를 표시합니다. 또한 CNContactPickerDelegate 프로토콜을 채택하여 연락처 선택 및 취소 이벤트를 처리하는 메서드를 구현합니다.

위의 방법을 통해 ContactsUI를 사용하여 연락처 뷰 컨트롤러를 만들 수 있습니다.