2016-09-21 2 views
5

Я только что внедрил CallKit в наше приложение VOIP, но я боюсь получить интерфейс входящего вызова.iOS 10 Callkit не отображает входящий вызов UI

В моем опыте я просто создал простой метод, который должен показать входящий интерфейс вызова, смотрите ниже:

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); 
    } 
}]; 

Все, кажется, работает нормально, и я на самом деле получить call received распечатку с этим кодом:

- (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"); 
    } 
    }; 
} 

Но не отображается пользовательский интерфейс входящего вызова. Есть что-то, что мне не хватает?

Благодаря

+2

Может быть, CallKit не работает в симе? – Ismailp

+0

Не могли бы вы помочь мне в том, где получить интеграцию CallKit с VoIP-приложением с Objective-c, im поиск из нескольких дней, но не удалось найти. Но, если у вас есть, вы можете поделиться ссылкой. Благодаря! –

+1

CallKit не работает в iOS Simulator, в случае, если вы тестируете. Вместо этого попробуйте запустить устройство. –

ответ

7

CallKit не работает в IOS Simulator, так что ваше приложение будет необходимо запустить на устройстве вместо этого.

Кроме того, я рекомендую сравнить приложение с примером кода Speakerbox, опубликованным Apple, чтобы узнать, отсутствуют ли какие-либо фрагменты в вашей реализации.

+0

Спасибо Stuart! Это работало как шарм :) – Ismailp

+0

@Stuart M, у вас есть код в объективе-c для примера вызова? –

+0

@AnilkumariOSdeveloper К сожалению, нет, но вся функциональность, продемонстрированная в примере Swift [Speakerbox] (https://developer.apple.com/library/content/samplecode/Speakerbox/Introduction/Intro.html), доступна из Objective C, просто необходимо перевести –