Twilio的另一个问题对我而言。所以,我正在尝试使用参数与另一个用户建立连接。这是我的代码:
-(void)connect:(CDVInvokedUrlCommand*)command {
NSLog(@"The content of dict is%@",[command.arguments objectAtIndex:0]);
NSDictionary *dict = [command.arguments objectAtIndex:0];
for(NSString *key in [dict allKeys]) {
NSLog(@"%@",key);
NSLog(@"%@",[dict objectForKey:key]);
}
[self.device connect:dict delegate:self];
}
问题:无论我在NSDictionary中拥有什么,都没有传递给服务器。我已尝试过多个参数,没有任何内容通过。甚至不是To
参数,也不是其他自定义参数。它适用于所有其他平台,但不适用于iOS。
我在这里失踪了什么?根据文档它应该工作,连接方法是以NSDictionary为输入,
-connect:(NSDictionary*)params delegate:(id<TCConnectionDelegate>)delegate
,我应该在哪里看看?
PS。这是我在过去几天里遇到的另一个大问题Twilio lib。我得到了足够的。
答案 0 :(得分:1)
好的,问题是我用带有整数值的键传递NSDictionary。 -connect方法仅接受<NSString NSString> NSDictionary
。
答案 1 :(得分:0)
让我们弄明白这一点。从您的代码示例中可以清楚地看出,您作为参数传递了哪些完全,如果我建议您可能已经尝试过的话,请原谅我。
如果你尝试这样的话,会发生什么?
NSDictionary *params = @{@"To": "number_to_dial"};
_connection = [_phone connect:params delegate:self];
如果这不起作用,我们可以确定问题出在帐户,令牌或应用程序本身。
The iOS sample显示了如何传递拨号参数,但开发人员仍有责任创建包含Twilio识别的拨号命令标记的正确TwiML。
如果通过调用您的服务器而没有传入任何参数,则CallSid
方法中应该有一个Twilio TCConnectionDelegate.connectionDidConnect:
。如果是这种情况,我建议使用该Sid contacting support,我们可以从服务器中挖掘更多信息,以查看传递的参数。
以下是检索CallSid
:
- (void)connectionDidConnect:(TCConnection *)connection {
NSString *callsid = [[connection parameters] objectForKey:@"CallSid"];
...
}
你能看到你是否能够看到这个回调方法被调用,并尽可能提供CallSid
?