CallKit - 最近通话中的通话记录不显示拨出电话的名称

时间:2017-01-09 10:04:10

标签: ios objective-c callkit

我在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];

1 个答案:

答案 0 :(得分:3)

问题在于,您在开始拨出电话时不会告诉提供商名称,您可以通过 performStartCallAction 添加下一个代码:

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

[provider reportCallWithUUID:uuid updated:update];

使用此代码我解决了同样的问题,现在它显示了名称。