Tag: Ios音频通话

CallKit简介

CallKit iOS,iOS应用程序中的音频呼叫支持,iOS应用程序中的视频呼叫支持 在此博客中,我仅关注CallKit框架,在下一个博客中,我将介绍Intent扩展和PushKit框架。 开始吧! iOS上的生活并不总是适合VoIP应用程序开发人员。幸运的是,Apple在iOS 10中引入了CallKit来改变这一切! VoIP应用程序今天如何工作? 通过CallKit,您可以将系统服务(蓝牙,Siri,Face time,电话应用程序)与VoIP服务集成在一起。 它提供了电话应用程序的呼叫接口,您的VoIP服务需要照顾到后端通信。 对于传入和传出呼叫,CallKit显示与“电话”应用程序相同的界面,从而使您的应用程序具有更原始的外观。 通过CallKit,您可以对系统级别的行为做出适当的响应,例如“请勿打扰”,“低网络连接”。 除了处理呼叫,您还可以提供“呼叫目录”应用程序扩展,以提供呼叫者ID信息以及与您的服务关联的阻止号码的列表。 既然您知道了CallKit的全部CallKit ,那么让我们仔细看一下理解和利用它所需要的一些基本概念。 CXProvider创建一个CXProvider实例并在整个VoIP应用程序中使用,它的对象负责报告系统发生的带外通知。使用提供的配置初始化一个新的提供程序实例。 let provider: CXProvider = CXProvider (配置:type(of:self) 。providerConfiguration ) CXProviderConfiguration应用程序的提供程序配置,代表其CallKit功能,您可以配置以下属性: –提供者的本地化名称,例如:应用程序名称 – ringtoneSound ,应用程序捆绑中的资源名称,用作来电的铃声,例如:“ MyRingtone.aif” – MaximumCallGroups ,默认为2 – MaximumCallsPerCallGroup ,默认为5 –在每次呼叫结束时,是否应将此提供商的呼叫包括在系统的“最近使用”列表中(includeCallsInRecents)。 – SupportsVideo ,无论VoIP服务是否支持视频,默认为否 – SupportedHandleTypes (CXHandleType),例如:supportedHandleTypes = [.phoneNumber] 静态var providerConfiguration: CXProviderConfiguration {让localizedName = NSLocalizedString(“ APPLICATION_NAME”,注释:“应用程序名称”)let providerConfiguration = CXProviderConfiguration(localizedName:localizedName) […]