[swift] CallKit 사용 시 주의사항

iOS 앱을 개발하다 보면 통화 관련 기능을 구현해야 하는 경우가 있습니다. CallKit은 iOS에서 전화 앱과 상호 작용하기 위한 프레임워크로, 전화 앱과 유사한 사용자 경험을 제공할 수 있도록 도와줍니다. 하지만 CallKit을 사용할 때 몇 가지 주의사항이 있습니다.

연락처 권한

CallKit을 사용하기 위해서는 사용자의 연락처에 접근할 수 있는 권한을 요청해야 합니다. 사용자의 연락처에 접근하지 않고도 앱이 올바르게 동작하도록 설계하는 것이 중요합니다. 연락처에 접근하는 권한을 요청할 때에는 사용자에게 근거를 설명하고, 선택적인 권한 요청으로서 연락처에 접근하지 않아도 되는 경우, 권한 요청을 생략하는 것이 좋습니다.

백그라운드 제약 확인

CallKit을 사용하면 앱이 백그라운드에서도 통화 이벤트를 처리할 수 있습니다. 그러나 iOS 운영 체제의 제약으로 인해 백그라운드에서 제공되는 기능이 제한될 수 있습니다. 그러므로 백그라운드에서 CallKit을 사용할 때에는 iOS의 백그라운드 실행에 관한 가이드라인을 모두 숙지하고, 백그라운드 제약을 고려하여 설계하는 것이 중요합니다.

테스트 및 디버깅

CallKit을 활용한 통화 기능은 앱의 핵심적인 부분이기 때문에 테스트와 디버깅을 철저히 진행해야 합니다. CallKit을 통한 통화 기능은 실제 전화 기능과 밀접하게 연관되어 있기 때문에, 신중한 테스트가 필요합니다. 또한 CallKit의 경우 시뮬레이터에서 완전한 기능을 테스트하는 것이 어려울 수 있으므로, 실제 기기에서의 동작을 확인하는 것이 좋습니다.

이러한 주의사항을 숙지하고 CallKit을 효과적으로 활용하면, iOS 앱에서 고유한 통화 경험을 제공하는 데 도움이 될 것입니다.

CallKit Framework - Apple Developer Documentation