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

问题是你在开始拨出电话时没有告诉提供商名称,你可以解决它在下一个代码中添加performStartCallAction

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

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