2016-09-21 26 views
5

私はVOIPアプリケーションにCallKitを実装しましたが、着信UIを表示するのには苦労しています。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プリントを出す::私はちょうど着信UIを表示する必要があります簡単な方法を作成し、私の実験では

、以下を参照してください

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

ただし、着信UIは表示されません。私は行方不明のものがありますか?あなたのアプリではなく、デバイス上で実行する必要がありますので、

おかげ

+2

シムでCallKitが機能しないことはありますか? – Ismailp

+0

Objective-cでVoIPアプリケーションにCallKitを統合する場所を教えてください。数日後には検索が見つかりませんでした。しかし、もしあなたが持っていれば、リンクを共有することができますか?ありがとう! –

+1

iOSシミュレータでCallKitが動作しない場合は、テストしています。代わりにデバイスで実行してみてください。 –

答えて

7

CallKitは、iOSシミュレータでは動作しません。

また、お使いのアプリをサンプルコードSpeakerboxと比較することをおすすめします。アップルによって実装されているものがないかどうかを確認してください。

+0

ありがとうスチュアート!それは魅力のように働いた:) – Ismailp

+0

@Stuart M、callkitの例のためのobjective-cのコードがありますか? –

+0

@AnilkumariOSDdeveloper残念ながら、Swift [Speakerbox](https://developer.apple.com/library/content/samplecode/Speakerbox/Introduction/Intro.html)サンプルアプリケーションで示されているすべての機能は、Objective Cから入手できます翻訳する必要がある –

関連する問題