CallKit - Call log in recent calls does not show n

2019-02-11 07:19发布

I am using CallKit in a VOIP application. Everything works fine except in the recent call list after an outgoing call is placed, it shows only the number, even though the number is saved in the phonebook. for example, there is a contact named 'John' in the phonebook. now if an outgoing call is placed from the app, in the recent log it only shows the number. this is what i did.

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条回答
疯言疯语
2楼-- · 2019-02-11 07:52

The problem is that you don't tell the provider the name when start a outgoing call, you can solve it adding in performStartCallAction the next code:

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

[provider reportCallWithUUID:uuid updated:update];

With this code I solved the same problem and now it show the name.

查看更多
登录 后发表回答