iOS
复制一个包含安装步骤和此插件的完整Markdown指南的设置提示。
How iOS behavior works
iOS 行为原理On iOS, the plugin reports the incoming call to CallKit. That gives you the system incoming-call sheet and standardized call actions without building your own native incoming-call UI.
requestPermissions() iOS 中,插件会将来电报告给 CallKit。这样可以获得系统的来电呼叫面板和标准化的呼叫操作,而无需自己构建原生来电 UI。
It resolves immediately on iOS because CallKit itself does not require a runtime permission dialog.
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 Handle types
generic处理类型:phoneNumber对于真实的电话号码emailAddress对于基于电子邮件的身份
后台来电
后台来电此插件不会为您注册推送或APNs。
要在iOS上实现真正的后台或终止状态的铃声,主机应用程序仍然需要匹配传输策略的原生Apple推送设置:
- 在您的传输使用Apple推送交付时,启用推送通知。
- 在您的应用程序使用VoIP推送流时,启用语音通话背景模式。
- 将来电事件传递给您的应用程序,并在Capacitor桥可用时立即调用此插件。
如果您的铃声事件仅存在于JavaScript中,您将在应用程序已经在前台运行时获得最佳体验。
麦克风和摄像头权限
麦克风和摄像头权限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>仅添加您的真实呼叫流程所需的键
将这些责任保留在应用层
标题:将这些责任保留在应用层- PushKit 和 APNs 注册
- 身份验证和令牌刷新
- 加入真实房间或 VoIP 会话后
callAccepted - 结束或恢复远程呼叫状态时,插件发射
callDeclined,callEnded, 或callTimedOut
继续从 iOS
标题:继续从 iOS如果您正在使用 iOS 来规划原生插件工作,连接它与 使用@capgo/capacitor-incoming-call-kit 为原生能力在使用@capgo/capacitor-incoming-call-kit Capgo插件目录 为产品工作流程在Capgo插件目录 Capacitor Plugins by Capgo for the implementation detail in Capacitor Plugins by Capgo, 添加或更新插件 为实现细节在添加或更新插件,并且 Ionic企业插件替代方案 为 Ionic Enterprise Plugin Alternatives 的产品工作流程。