iOS 앱을 개발하는 동안 스팸 차단 및 incoming caller의 정보를 화면에 표시하려는 경우가 있습니다. 인증된 caller의 정보를 가져오고 표시하기 위해 iOS에서는 IdentityLookupUI 프레임워크를 사용할 수 있습니다.
이 기술 문서에서는 IdentityLookupUI 프레임워크를 사용하여 incoming caller의 정보를 가져오고 화면에 표시하는 방법을 안내하겠습니다.
필수 조건
- Xcode 11.0 이상
- iOS 12.0 이상
IdentityLookupUI 프레임워크 추가
IdentityLookupUI 프레임워크는 iOS 앱에 직접 포함되어 있지 않으므로 직접 추가해야 합니다.
- Xcode를 열고 프로젝트를 선택합니다.
- 프로젝트 네비게이터에서 General을 선택합니다.
- Frameworks, Libraries, and Embedded Content 섹션에서 ‘+’ 버튼을 클릭합니다.
- 팝업 창에서 IdentityLookupUI를 검색하여 추가합니다.
사용자 동의 얻기
IdentityLookupUI를 사용하여 incoming caller 정보를 가져오기 위해서는 사용자 동의가 필요합니다. Info.plist 파일에 NSExtensionUsageDescription 키를 추가하여 사용 목적을 설명해야 합니다.
<key>NSExtensionUsageDescription</key>
<string>우리 앱은 incoming caller의 정보를 가져오기 위해 통화 앱과 연동합니다.</string>
IdentityLookupExtension 생성
IdentityLookupUI를 사용하기 위해 IdentityLookupExtension을 생성해야 합니다.
- Xcode에서 File > New > Target로 이동합니다.
- 화면에서 Call Directory Extension 템플릿을 선택하고 Next를 클릭합니다.
- Extension의 이름을 지정하고 Finish를 클릭합니다.
CallDirectoryDelegate 구현
이제 IdentityLookupExtension을 통해 incoming caller의 정보를 가져오기 위해 CallDirectoryDelegate를 구현합니다.
import IdentityLookup
class CallDirectoryHandler: CXCallDirectoryProvider {
override func beginRequest(with context: CXCallDirectoryExtensionContext) {
// incoming caller 정보 가져오는 로직 구현
}
}
beginRequest(with:)
메서드를 구현하여 incoming caller의 정보를 가져오는 로직을 추가합니다.
컴파일하고 테스트하기
작성한 코드를 컴파일하고, 시뮬레이터나 실제 iOS 기기에서 앱을 실행하여 incoming caller의 정보가 제대로 표시되는지 테스트합니다. 테스트 후 문제가 없다면 해당 기능을 앱에 통합하여 사용자에게 제공할 수 있습니다.
이제 iOS에서 IdentityLookupUI 프레임워크를 사용하여 incoming caller의 정보를 가져오고 화면에 표시하는 방법에 대해 알아보았습니다.
더 자세한 내용은 Apple 공식 문서를 참고할 수 있습니다.