King of Stock
CNContactViewController 유의사항? 본문
사용자 기기의 특정 연락처를 보여주고자 할때에 이용하는 CNContactViewController 사용하다가 오류가 발생했던 상황에 대해 공유합니다~
일단은 CNContactViewController 클래스 일부 번역(Documentation)
[원문]
The CNContactViewController class implements the view to display a contact. CNContactViewController can display a new contact, unknown contact, or existing contact. You must use one of the designated initializers from init(forNewContact:), init(forUnknownContact:), or init(for:) respectively.
[발번역]
CNContactViewController 클래스는 연락처를 보여주기 위해서 구현된 클래스이다. CNContactViewController는 새로운 연락처, 이름이 없는 연락처, 저장된 연락처를 보여 줄수 있다. 여러분들은 각각의 init(forNewContact:), init(forUnknownContact:), or init(for:) 초기화 메서드 중에 1개를 이용해야 합니다.
생략...
위에 일부 내용처럼 특정인의 연락처를 보여 줄 수 있는 컨트롤러를 제공하고 있는데, API를 자세히 읽어보지 않고 그냥 코딩을 시작하거나 어딘가에서 복~붙(?)한 코드를 사용시 오류가 발생할 가능성이 아주 높다. 아마도 아래와 같은 내용일거라 추측됩니다.(내가 경험 오류 메세지)
CNPropertyNotFetchedException', reason: 'Contact 0x7f9d07d31ce0 is missing some of the required key descriptors: (
"<CNAggregateKeyDescriptor: 0x60800023f120: kind=+[CNContactContentViewController descriptorForRequiredKeys]>"
)'
대충 보면 필수 키 서술자 중에 몇개가 빠졌다고 머라고 머라고 한다... 아... 정말 ㅋㅋ
저게 뭘까 한번 찾아봤다.
Discussion 항목으로 기술을 해놨는데, 발번역을 한번 해보자면... -_ㅜ
"CNContactViewController 에 특정 연락처를 보여주고 싶으면, 이 서술자를 CNContactFetchRequest의 keysToFetch에 전달한다" 라고 나온다. 아 그렇군... 이래서 영어를 잘 해야해...
간단하게 코드로 보면 아래와 같습니다.
'IT 기술' 카테고리의 다른 글
[macOS] 앱 스토어 연결 오류 (0) | 2018.09.06 |
---|---|
Array.sort 함수는 한글을 어떻게 정렬시킬까? (0) | 2018.04.18 |
swift 접근 제한자 (0) | 2018.04.09 |
Firebase 로그 Off (0) | 2018.04.05 |
Alamofire 사용하여 요청한 응답 결과를 기준으로 테스트 하기 (0) | 2018.04.05 |