标签: callkit

如何处理这个错误AVAudioSessionErrorCodeMissingEntitlement?

我正在尝试与iOS10的CallKit集成,但是当我在接受电话呼叫后尝试初始化音频会话时,这个"AudioUnitInitialize"API将抛出此错误"AVAudioSessionErrorCodeMissingEntitlement".根据该文件,它只是一行说明:https: //developer.apple.com/reference/avfoundation/avaudiosessionerrorcode/avaudiosessionerrorcodemissingentitlement

我该如何更新支持权利?有没有经验?

audio entitlements ios ios10 callkit

8
推荐指数
1
解决办法
940
查看次数

iOS 10,调用目录扩展未调试

我正在使用callkit进行Call目录扩展.

我为调试选择了调用目录扩展,当我运行此目标时,显示no NSLog.

我该如何调试此扩展?

ps:当我运行此扩展时,Debug -> Attach to process ->没有检查目标....

在此输入图像描述

xcode nserror ios cncontact callkit

8
推荐指数
1
解决办法
1738
查看次数

CTCallCenter已弃用.有什么选择?

CTCallCenter在我的项目中使用.现在它被弃用了,我想知道什么是替代品?如何获得语音通话活动?

objective-c core-telephony swift ios10 callkit

8
推荐指数
1
解决办法
5051
查看次数

Android中的VOIP推送通知

我正在开发一个VOIP应用程序.VOIP推送是从亚马逊SNS发送的,使用推送套件和呼叫套件我们显示来电屏幕.即使应用程序处于后台或退出时,也可以显示此调用者屏幕.

不幸的是,android没有VOIP推送.如何在Android中实现?或者有任何解决方案可以在两个平台上工作吗?

android voip ios pushkit callkit

8
推荐指数
1
解决办法
3705
查看次数

无法在iOS 13中阻止VoIP通话?

CallKit的呼叫目录扩展名可用于阻止标准电话。但是,应该如何阻止VoIP呼叫与iOS 13一起使用?

When there is a VoIP call your app receives a VoIP push, but now with iOS 13 Apple are mandating that when the push is received the app must call CXProvider.reportNewIncomingCall().

However when reportNewIncomingCall() is called, the OS displays an incoming call screen (which is not the same as for a regular incoming call). It is apparently not possible for this call screen to be suppressed, and even if reportNewIncomminCall() is invoked with a parameter which is …

voip ios callkit

8
推荐指数
1
解决办法
660
查看次数

iOS 13 中的 VoIP 来电本机蜂窝通话失败

我已经在 iOS 中使用 VoIP PushKit 实现了用于音频和视频通话的 CallKit,它在 iOS 12 和之前的版本中运行良好,在 iOS 13 和 13.1 中也运行正常。

但它在两种情况下失败:

1)我们的应用程序处于前台状态。当蜂窝电话正在运行并且收到 VoIP 推送时,呼叫套件来电屏幕会显示 5 - 10 秒,然后蜂窝电话和 VOIP 通话都失败并显示“呼叫失败”警报。

2)我们的应用程序处于后台或已终止状态。当蜂窝电话正在运行并且收到 VoIP 推送时,蜂窝电话和 VOIP 通话都会失败,并显示“呼叫失败”警报。这次没有显示来电界面。

我在这里展示我的代码:

- (void)registerAppForVOIPPush {

    PKPushRegistry *pushRegistry = [[PKPushRegistry alloc] initWithQueue:dispatch_get_main_queue()];
    pushRegistry.delegate = self;
    pushRegistry.desiredPushTypes = [NSSet setWithObject:PKPushTypeVoIP];
}
Run Code Online (Sandbox Code Playgroud)

然后推送代表

#pragma mark PKPushRegistryDelegate ----

- (void)pushRegistry:(PKPushRegistry *)registry didUpdatePushCredentials: (PKPushCredentials *)credentials forType:(NSString *)type {

    NSString *newToken = [self hexadecimalStringFromData:credentials.token];
    //Make a note of this token to a server to send VOIP for …
Run Code Online (Sandbox Code Playgroud)

voip objective-c pushkit callkit ios13

8
推荐指数
1
解决办法
2534
查看次数

iOS 10:如何使用 CallKit/CXCallObserver 获取呼叫事件?

我在 iOS 10 中使用 CXCallObserver 更改了 CTCallCenter。

这是我的代码:

#import <CallKit/CXCallObserver.h>
#import <CallKit/CXCall.h>

-(void)viewDidLoad {

    CXCallObserver *callObserver = [[CXCallObserver alloc] init];
    [callObserver setDelegate:self queue:nil];

    ... ...
}

- (void)callObserver:(CXCallObserver *)callObserver callChanged:(CXCall *)call {
    if (call.hasConnected) {
        NSLog(@"********** voice call connected **********/n");        
    } else if(call.hasEnded) {
        NSLog(@"********** voice call disconnected **********/n");        
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我无法收到语音呼叫事件,并且收到了如下警告:

Sending 'HomeViewController *const __strong' to parameter of incompatible type 'id<CXCallObserverDelegate> _Nullable
Run Code Online (Sandbox Code Playgroud)

请帮我。

objective-c ios10 callkit

7
推荐指数
1
解决办法
4381
查看次数

如何结束CallKit中的呼叫

这不是一个给我代码的问题,这是一个可行性问题.如果我使用CallKit发起电话,是否也可以以编程方式结束它?

ios callkit

7
推荐指数
2
解决办法
4651
查看次数

进入蜂窝电话时保持呼叫套件呼叫

我有一个问题(但不是真的)与callkit.

我在我的应用程序中实现了callkit,它运行良好.我可以第二次打电话给我的应用程序和callkit,向我提供结束和接受,拒绝或保留和接受的选项.如果我正在进行蜂窝电话(gsm)呼叫并且我在我的应用上接听电话也是如此.但是当我在应用程序调用(在callkit上)并获得蜂窝(gsm)调用时,我只获得2个选项:拒绝或结束并接受.

知道为什么吗?或者我如何获得所有3个选项?

static var providerConfiguration: CXProviderConfiguration {

    var providerConfiguration: CXProviderConfiguration
    providerConfiguration = CXProviderConfiguration(localizedName: "app name")

    providerConfiguration.supportsVideo = false
    providerConfiguration.maximumCallsPerCallGroup = 1
    providerConfiguration.maximumCallGroups = 3
    providerConfiguration.supportedHandleTypes = [.phoneNumber]
    return providerConfiguration
}
Run Code Online (Sandbox Code Playgroud)

我已实施:

providerDidReset, 
CXStartCallAction, 
CXAnswerCallAction, 
CXEndCallAction, 
CXSetHeldCallAction, 
CXSetMutedCallAction, 
timedOutPerforming action, 
didActivate audioSession, 
didDeactivate audioSession.
Run Code Online (Sandbox Code Playgroud)

在我的app委托中,我有检查useractivity的功能.我把断点在所有的功能,但没有被调用显示的话蜂窝(GSM)调用视图前.

我用Google搜索但无法找到解决方案.据我所知,callkit工作正常.

ios swift callkit

7
推荐指数
1
解决办法
925
查看次数

Android ConnectionService来电

我正在尝试iOS callkit在Android 上实现行为。我收到了来自Firebase的推送通知,并且想向用户显示“来电”屏幕。为此,我使用ConnectionServiceandroid.telecompackage和其他类。

这是我的呼叫管理器类:

class CallManager(context: Context) {
val telecomManager: TelecomManager
var phoneAccountHandle:PhoneAccountHandle
var context:Context
val number = "3924823202"
init {
    telecomManager = context.getSystemService(Context.TELECOM_SERVICE) as TelecomManager
    this.context = context
    val componentName =  ComponentName(this.context, CallConnectionService::class.java)
    phoneAccountHandle = PhoneAccountHandle(componentName, "Admin")
    val phoneAccount = PhoneAccount.builder(phoneAccountHandle, "Admin").setCapabilities(PhoneAccount.CAPABILITY_SELF_MANAGED).build()


    telecomManager.registerPhoneAccount(phoneAccount)
    val intent = Intent()
    intent.component = ComponentName("com.android.server.telecom", "com.android.server.telecom.settings.EnableAccountPreferenceActivity")
    intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP

}


@TargetApi(Build.VERSION_CODES.M)
fun startOutgoingCall() {
    val extras = Bundle()
    extras.putBoolean(TelecomManager.EXTRA_START_CALL_WITH_SPEAKERPHONE, true)

    val manager = context.getSystemService(TELECOM_SERVICE) as TelecomManager
    val phoneAccountHandle …
Run Code Online (Sandbox Code Playgroud)

android voip callkit

7
推荐指数
1
解决办法
2328
查看次数