Twillio客户端到客户端调用ios从不接收调用方法为didReceiveIncomingConnection

Twillio客户端到客户端调用ios从不接收调用方法为didReceiveIncomingConnection,ios,twilio,Ios,Twilio,我正在开发iOS应用程序,使用Twilio SDK管理通过设备进行的客户端调用。为了实现这一点,我正在使用hello monkey演示应用程序,我已经成功地在Xcode中导入了该应用程序。 初始设置后,我能够成功建立连接,但接收代理不再工作。我已经阅读了完整的twilio文档,但没有成功。请尽快提出任何替代方案或解决方案。 这是我的Hello Monkey示例项目代码 - (void)viewDidLoad { NSLog(@"CLINT ID---------------------

我正在开发iOS应用程序,使用Twilio SDK管理通过设备进行的客户端调用。为了实现这一点,我正在使用hello monkey演示应用程序,我已经成功地在Xcode中导入了该应用程序。 初始设置后,我能够成功建立连接,但接收代理不再工作。我已经阅读了完整的twilio文档,但没有成功。请尽快提出任何替代方案或解决方案。 这是我的Hello Monkey示例项目代码

- (void)viewDidLoad
{

    NSLog(@"CLINT ID-----------------------     %@",name);

    //check out https://github.com/twilio/mobile-quickstart to get a server up quickly
    NSString *urlString = [NSString stringWithFormat:@"https://testdemo786.herokuapp.com/token?client=%@", name];
    NSURL *url = [NSURL URLWithString:urlString];
    NSError *error = nil;
    NSString *token = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
    if (token == nil) {
        NSLog(@"Error retrieving token: %@", [error localizedDescription]);
    } else {
        _phone = [[TCDevice alloc] initWithCapabilityToken:token delegate:self];

    }
}

- (IBAction)dialButtonPressed:(id)sender
{
    NSString *to;
    if ([name isEqualToString:@"jenny"]) {
        to=@"client:tommy";
    }
    else
    {
        to=@"client:jenny";
    }


    to=@"4nmf5j";
    NSLog(@"TO---------------------%@",to);
    NSDictionary *params = @{@"To": to};

    _connection = [_phone connect:params delegate:nil];
}

- (IBAction)hangupButtonPressed:(id)sender
{
    [_connection disconnect];
}

- (void)device:(TCDevice *)device didReceiveIncomingConnection:(TCConnection *)connection
{
    NSLog(@"Incoming connection from: %@", [connection parameters][@"From"]);
    if (device.state == TCDeviceStateBusy) {
        [connection reject];
    } else {
        [connection accept];
        _connection = connection;
    }
}

-(void)connection:(TCConnection*)connection didFailWithError:  (NSError*)error{

    NSLog(@"Connection failed with error : %@", error);

}

-(void)connectionDidStartConnecting:(TCConnection*)connection{
    NSLog(@"connection started");
}

-(void)connectionDidDisconnect:(TCConnection*)connection{
    NSLog(@"connection disconnected");
}

-(void)connectionDidConnect:(TCConnection*)connection{
    NSLog(@"connected");
}

- (void)deviceDidStartListeningForIncomingConnections:  (TCDevice*)device
{
    NSLog(@"Device: %@ deviceDidStartListeningForIncomingConnections",   device);
}

- (void)device:(TCDevice *)device didStopListeningForIncomingConnections:(NSError *)error
{
    NSLog(@"Device: %@ didStopListeningForIncomingConnections: %@", device, error);
}

您是否将代理设置为self?
\u device=[[TCDevice alloc]initWithCapabilityToken:capabilityToken委托:self]

这里是Twilio福音传道者

从您包含的代码中有点难以分辨,我觉得它确实正确

以下是一些需要检查的事项:

  • 您是否将TCDeviceDelegate作为协议添加到界面上:

    @interface FooViewController() <TCDeviceDelegate>
    
    @interface FooViewController()
    
  • 是否确实将正确的客户端名称传递给connect方法,并且从TwiML应用程序语音请求URL返回的TwiML正确包含该名称

    您可以通过查看查看Twilio在检索或解析TwiML时是否记录了任何错误来检查这一点。您还可以检查您的Twilio,查看Twilio对入站和出站呼叫结果的描述


  • 希望能有所帮助。

    这里是Twilio福音传道者。要发布应用程序中的代码吗?您好,请帮助我接收代理从不呼叫iOS中的客户端对客户端呼叫。很高兴为您提供帮助,但如果您可以向所有人显示您的代码,以便我们可以查看您是否犯了错误,这将非常容易。你能发布你在应用程序中使用的代码吗?你好,先生,我已经发布了我的代码。请检查一下。先生,你说得对。我已经检查了我的服务器url,有一些错误。我已经修好了,谢谢先生:)