iOS
复制包含安装步骤和该插件完整 Markdown 指南的配置 prompt。
iOS 行为的工作原理
“iOS 行为机制”章节在 iOS 上,该插件会将来电上报给 CallKit。这样你无需自行构建原生来电 UI,就能获得系统来电界面和标准通话操作。
requestPermissions() 在 iOS 上会立即 resolve,因为 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, },});Handle 类型
标题为“Handle 类型”的章节使用 ios.handleType 用于控制 CallKit 如何格式化 handle:
generic用于应用专属标识符phoneNumber用于真实电话号码emailAddress用于基于电子邮件的身份标识
后台来电
标题为“后台来电”的章节此插件不会为你注册 PushKit 或 APNs。
若要在 iOS 上实现真正的后台或终止状态响铃,你的宿主 App 仍需配置与你的传输策略相匹配的 Apple 原生推送设置:
- 当你的传输方式使用 Apple 推送时,请启用 Push Notifications。
- 当你的 App 使用 VoIP 推送流程时,请启用 Voice over IP background mode。
- 一旦 Capacitor bridge 可用,请立即将 incoming-call 事件传递给你的 App 并调用此插件。
如果你的响铃事件仅存在于 JavaScript 中,那么在 App 已处于前台运行时,你将获得最佳体验。
麦克风与摄像头权限
标题为“麦克风与摄像头权限”的章节CallKit 并不会取代你的媒体 SDK。如果实际通话会话需要使用麦克风或摄像头权限,你仍需在 App 中配置这些使用说明:
<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>只添加实际通话流程所需的 key。
将以下职责保留在应用层
标题为“将以下职责保留在应用层”的章节- PushKit 和 APNs 注册
- 身份验证和 token 刷新
- 随后加入真实的房间或 VoIP 会话
callAccepted - 当插件发出事件时,结束或同步远程通话状态
callDeclined,callEnded,或callTimedOut
在 iOS 上继续
标题为“在 iOS 上继续”的章节如果你正在使用 iOS 要规划原生插件工作,请将其与 使用 @capgo/capacitor-incoming-call-kit 用于“使用 @capgo/capacitor-incoming-call-kit”中的原生功能, Capgo 插件目录 查看 Capgo 插件目录中的产品工作流, Capgo 提供的 Capacitor 插件 查看由 Capgo 提供的 Capacitor 插件中的实现细节, 添加或更新插件 关于“添加或更新插件”中的实现细节,以及 Ionic Enterprise 插件替代方案 关于“Ionic Enterprise 插件替代方案”中的产品工作流。