iOS
이 플러그인에 대한 설치 단계와 전체 마크다운 가이드를 포함한 설정 프롬프트 복사하기.
iOS 동작 방식
iOS 동작 방식iOS에서 플러그인은 CallKit에 incoming call을 보고합니다. 그로 인해 시스템 incoming-call sheet 및 표준화된 호출 액션을 제공합니다. native incoming-call UI를 구축하지 않고도.
requestPermissions() iOS에서 CallKit 자체가 런타임 권한 대화창을 요구하지 않기 때문에 즉시 해결됩니다.
기본 예제
기본 예제import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.showIncomingCall({ callId: 'call-42', callerName: 'Ada Lovelace', handle: '+1 555 010 020', ios: { handleType: 'phoneNumber', supportsHolding: true, supportsDTMF: false, },});타입 관리
타입 관리사용하여 ios.handleType 콜킷이 핸들 형식을 어떻게 구성할 것인지 제어할 수 있습니다:
generic앱 고유 식별자phoneNumber실제 전화번호emailAddress이메일 기반 식별성
배경 incoming calls
배경 incoming calls이 플러그인은 PushKit 또는 APNs를 등록하지 않습니다.
iOS에서 실제 배경 또는 종료 상태의 링을 원한다면, 호스트 앱은 native Apple push 설정을 사용해야 하며, transport 전략에 맞춰야 합니다.
- __CAPGO_KEEP_0__ PUSH 알림 활성화
- __CAPGO_KEEP_0__ VoIP 배경 모드 활성화
- Capacitor incoming-call 이벤트를 전달하고 이 플러그인을 Capacitor 브릿지가 사용 가능할 때 즉시 호출합니다.
앱이 이미 전면에서 실행 중일 때, JavaScript에서만 Ring 이벤트가 존재할 경우 최적의 경험을 얻을 수 있습니다.
마이크 및 카메라 권한
마이크 및 카메라 권한CallKit은 미디어 SDK를 대체하지 않습니다. 실제 통화 세션에서 마이크나 카메라 접근이 사용되는 경우, 사용자 설명이 여전히 앱에 속해야 합니다.
<key>NSMicrophoneUsageDescription</key><string>This app uses the microphone for calls.</string><key>NSCameraUsageDescription</key><string>This app uses the camera for video calls.</string>실제 통화 흐름에서만 필요한 키만 추가합니다.
이러한 책임은 앱 layer에서 유지하세요
Section titled “앱 layer에서 유지하세요”- PushKit 및 APNs 등록
- 인증 및 토큰 갱신
- 실시간 회의나 VoIP 세션에 참가하기
callAccepted - 플러그인에서 상태를 전송할 때远程 호출 상태를 종료하거나 일치시키기
callDeclined,callEndedorcallTimedOut