Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS 10 Callkit does not show incoming call UI

I've just implemented CallKit into our VOIP app but I'm struggling with getting the incoming call UI to show up.

In my experiment I just created a simple method that should show the incoming call UI, see below:

CXProviderConfiguration * configuration = [[CXProviderConfiguration alloc] initWithLocalizedName:@"Bitcall"];
CXProvider *callkitProvider = [[CXProvider alloc] initWithConfiguration: configuration];
[callkitProvider setDelegate:self queue:nil];
CXCallUpdate *update = [[CXCallUpdate alloc] init];
update.localizedCallerName = @"Ravadam Patel";
[callkitProvider reportNewIncomingCallWithUUID:[NSUUID UUID]  update:update completion:^(NSError * _Nullable error) {
    if (error) {
        NSLog(@"Error: %@", error);
    }
}];

Everything seems to be working fine and I actually get a call received print out with this code:

- (void)handleCall
{
  self.callCenter.callEventHandler = ^(CTCall *call){

    if ([call.callState isEqualToString: CTCallStateConnected])
    {
      //NSLog(@"call stopped");
    }
    else if ([call.callState isEqualToString: CTCallStateDialing])
    {
    }
    else if ([call.callState isEqualToString: CTCallStateDisconnected])
    {
      NSLog(@"Call ended");
    }
    else if ([call.callState isEqualToString: CTCallStateIncoming])
    {
      NSLog(@"Call received");
    }
  };
}

But no incoming call UI is shown. Is there something I'm missing?

Thanks

like image 633
Ismailp Avatar asked Sep 21 '16 09:09

Ismailp


1 Answers

CallKit does not work in the iOS Simulator, so your app will need to be run on a device instead.

Also, I recommend comparing your app to the sample code app Speakerbox published by Apple to see if there are any pieces missing from your implementation.

like image 152
Stuart M Avatar answered Sep 23 '22 09:09

Stuart M