1

VOIP アプリケーションで CallKit を使用しています。発信電話をかけた後の最近の通話リストを除いて、すべて正常に機能します。電話帳に番号が保存されていても、番号のみが表示されます。たとえば、電話帳に「John」という名前の連絡先があります。アプリから電話をかけると、最近のログには番号のみが表示されるようになりました。これは私がしたことです。

NSUUID *callUUID = [NSUUID UUID];
CXHandle *handle = [[CXHandle alloc] initWithType:CXHandleTypePhoneNumber value:number];
CXStartCallAction *action = [[CXStartCallAction alloc] initWithCallUUID:callUUID handle:handle];
action.contactIdentifier = identifier; //identifier of that contact
[self.callController requestTransaction:[CXTransaction transactionWithActions:@[action]] completion:completion];
4

1 に答える 1

4

問題は、発信呼び出しを開始するときにプロバイダーに名前を伝えないことです。次のコードをperformStartCallActionに追加して解決できます。

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

[provider reportCallWithUUID:uuid updated:update];

このコードで同じ問題を解決し、名前が表示されるようになりました。

于 2017-01-09T11:45:38.153 に答える