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