[swift] CallKit과 통화 화면(screen) 커스터마이징

iOS 개발자들은 CallKit 프레임워크를 사용하여 앱 내에서 통화를 관리하고 사용자 경험을 향상할 수 있습니다. 그리고 이러한 통화 화면을 사용자 정의하고 즐겁게 만들 수 있습니다.

이 기술 블로그에서는 CallKit과 통화 화면을 커스터마이징하는 방법에 대해 알아보겠습니다.

CallKit이란?

CallKit은 iOS 10부터 도입된 Apple의 프레임워크로, VoIP(인터넷 음성통화) 앱이 전화 앱과 동일한 사용자 경험을 제공할 수 있도록 합니다. 사용자들이 전화 앱과 유사한 방식으로 VoIP 앱을 사용할 수 있게 해주는 통합 통화 서비스 플랫폼입니다. 이를 통해 VoIP 앱은 전화 앱과 동일한 인터페이스를 제공하고 통화 기록을 시스템에 저장할 수 있습니다.

통화 화면 커스터마이징

Call Directory 확장

CallKit은 앱에서 수신 통화 번호에 대한 정보를 추가하는 데 사용할 수 있는 Call Directory 확장을 제공합니다. Call Directory 확장을 사용하면 앱에서 식별된 전화 번호와 관련된 추가 정보(예: 이름 또는 회사 이름)를 시스템에 제공할 수 있습니다. 이렇게 하면 수신 통화가 발생할 때 시스템에서 통화 번호에 대한 추가 정보를 표시할 수 있습니다.

CXProvider 커스터마이징

CXProvider를 사용하여 앱의 통화 서비스를 시스템에 제공하고 수신 및 발신 통화에 대한 이벤트를 처리할 수 있습니다. CXProvider를 통해 통화 수신 및 발신 시 UI를 커스터마이즈하고, 통화를 관리하는데 필요한 정보와 동작을 설정할 수 있습니다.

let provider = CXProvider(configuration: CXProviderConfiguration(localizedName: "My App"))
provider.setDelegate(self, queue: nil)

UI 커스터마이징

CallKit에서 통화 UI를 커스터마이징하기 위해 CXCallControllerCXCallObserver를 사용할 수 있습니다. CXCallController를 사용하여 발신 및 종료 통화를 관리하고, CXCallObserver를 사용하여 통화 상태 변화에 대한 알림을 받을 수 있습니다. 이를 통해 앱에서 통화 상태에 따라 사용자 경험을 조절할 수 있습니다.

결론

CallKit을 사용하여 앱의 통화 화면을 커스터마이징하면 사용자 경험을 향상시키고 유용한 기능을 추가할 수 있습니다. CallKit을 효과적으로 활용하여 VoIP 앱의 품질을 향상시키고, 사용자들이 편리한 통화 서비스를 제공받을 수 있도록 설계하세요.

그럼 iOS 앱 개발자 여러분께서도 CallKit을 활용하여 앱의 통화 화면을 더욱 멋지고 효율적으로 만들어보시기 바랍니다!

참조