2017-07-31 14 views
0

私はコールキットを統合したvoipアプリを持っていました。私がvoipアプリから電話をかけるたびに、ネイティブのPhoneアプリに新しい最近のものが作成されます。私もvoipアプリ(電話アプリはそれについて知らなかった)でカスタムの連絡先を持っていた。問題は、私が連絡先の名前なしで電話番号だけの電話番号を表示する電話recentsアプリケーションでカスタム連絡先を呼び出すときです。
たとえば、私は電話番号 "sip:test"と名前 "Test"のカスタム連絡先を持っていました。電話でこのカスタム連絡先を呼び出すと、「sip:test」と表示されます。私の質問は、電話アプリから最近の名前を変更するにはどのような方法があるネイティブiosアプリケーションの最近の名前フィールドを設定するにはどうすればよいですか? - iOS

CXHandle *startCallHandle = [[CXHandle alloc] initWithType:CXHandleTypeGeneric value:@"sip:test"]; 
CXStartCallAction *startCallAction = [[CXStartCallAction alloc] initWithCallUUID:@"some_UUID" handle:startCallHandle]; 
CXTransaction *transaction = [[CXTransaction alloc] initWithAction:startCallAction]; 
[self.callController requestTransaction:transaction completion:nil}]; 


私は休耕outgoind通話を開始しますか?

答えて

2

あなたは名前が「テスト」であることをプロバイダに知らせないので、システムは名前と番号を認識しません。用performStartCallActionにシステムに名前を通知しますが、次のコードを追加する必要があります。

CXCallUpdate *update = [[CXCallUpdate alloc] init]; 
[update setRemoteHandle:[[CXHandle alloc] initWithType:CXHandleTypePhoneNumber value:number]]; 
[update setLocalizedCallerName:name]; 

[provider reportCallWithUUID:uuid updated:update]; 
+0

アップデート名が働いているが、今「continueUserActivityは:」私は最近にタップするとアプリのデリゲートメソッドが呼び出されません。 – Iosif

+0

あなたは_continueUserActivity_の** getStartCallHandle **でStartCallHandleを読んでいますか?そうでなければ、 'NSString * handle = [userActivity getStartCallHandle];'を使います。編集:そしてあなたはrcvd @ "sip:test" – AntonioM

+0

** continueUserActivity:** delegateメソッドはまったく呼び出されません。 – Iosif

関連する問題