如何在本机ios应用程序中设置最近的名称字段?-网间网操作系统
我有一个集成了呼叫套件的voip应用程序。每次我从voip应用程序呼叫时,都会在本机电话应用程序中创建一个新的“最近”。我在voip应用程序中也有自定义联系人(该手机应用程序不知道)。问题是,当我在Phone recents应用程序中呼叫一个自定义联系人时,只会显示一个没有联系人姓名的电话号码如何在本机ios应用程序中设置最近的名称字段?-网间网操作系统,ios,callkit,Ios,Callkit,我有一个集成了呼叫套件的voip应用程序。每次我从voip应用程序呼叫时,都会在本机电话应用程序中创建一个新的“最近”。我在voip应用程序中也有自定义联系人(该手机应用程序不知道)。问题是,当我在Phone recents应用程序中呼叫一个自定义联系人时,只会显示一个没有联系人姓名的电话号码 例如,我有电话号码“sip:test”和姓名“test”的自定义联系人。当我在最近的手机应用程序中呼叫此自定义联系人时,仅显示“sip:test” 我作为休耕者开始一个支出电话: CXHandle *st
例如,我有电话号码“sip:test”和姓名“test”的自定义联系人。当我在最近的手机应用程序中呼叫此自定义联系人时,仅显示“sip:test”
我作为休耕者开始一个支出电话:
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}];
我的问题是,有没有办法修改手机应用程序中最近的姓名?您在任何时候都不会告诉提供商该姓名是“Test”,因此系统不知道姓名和显示号码。要在performStartCallAction中向系统通知名称,您需要添加下一个代码:
CXCallUpdate *update = [[CXCallUpdate alloc] init];
[update setRemoteHandle:[[CXHandle alloc] initWithType:CXHandleTypePhoneNumber value:number]];
[update setLocalizedCallerName:name];
[provider reportCallWithUUID:uuid updated:update];
您在任何时候都不会告诉提供者名称是“Test”,因此系统不知道名称和显示编号。要在performStartCallAction中向系统通知名称,您需要添加下一个代码:
CXCallUpdate *update = [[CXCallUpdate alloc] init];
[update setRemoteHandle:[[CXHandle alloc] initWithType:CXHandleTypePhoneNumber value:number]];
[update setLocalizedCallerName:name];
[provider reportCallWithUUID:uuid updated:update];
更新名称正在工作,但现在当我点击“最近”时,不会调用“continueUserActivity:”应用程序委托方法。您是否在continueUserActivity中使用getStartCallHandle读取StartCallHandle?如果不是,则使用
NSString*handle=[userActivity getStartCallHandle]代码>。编辑:您将rcvd@“sip:test”continueUserActivity:delegate方法根本不被调用。抱歉,我没有正确阅读您的问题,当您点击“最近”时,您的didfinishlaunching
是否返回YES?didfinishlaunching方法始终返回YES。不管怎样,我做了更多的测试,这似乎是iOS 11 beta 4版的问题,因为在早期版本中,一切都正常。更新名称正常,但现在当我点击“最近”时,不会调用“continueUserActivity:”App delegate方法。您是否在continueUserActivity中阅读了StartCallHandle和getStartCallHandle?如果不是,则使用NSString*handle=[userActivity getStartCallHandle]代码>。编辑:您将rcvd@“sip:test”continueUserActivity:delegate方法根本不被调用。抱歉,我没有正确阅读您的问题,当您点击“最近”时,您的didfinishlaunching
是否返回YES?didfinishlaunching方法始终返回YES。不管怎样,我做了更多的测试,这似乎是iOS 11 beta 4版的问题,因为在早期版本中,一切都很好。