正在发送#& * tel:iOS 5+中的URI

时间:2012-08-08 19:26:21

标签: ios openurl

就在最近,我们注意到现在允许在iOS 5.1中拨打带有#或*字符的tel:URI调用[[UIApplication sharedApplication] openURL:url]。

e.g。 NSURL * url = [NSURL URLWithString:@“tel:15555551212 ,, 1234#”];

文档似乎没有更新,表明现在允许这样做。它仍然无法在iOS 4.x中运行。我们正在测试看看它何时发生变化。有没有人知道Apple是否正式改变了从应用程序拨打这些字符的政策?

2 个答案:

答案 0 :(得分:3)

#*之后,更改似乎允许,;,即在呼叫连接后发送DTMF。 ,等待几秒钟,;让用户决定何时发送,例如一个“拨打123”按钮。假设DTMF通过该呼叫发送,则认为它是安全的,因为它不会被解释为服务/ USSD / etc代码。

根据操作员的不同,仍有可能将其用于恶意目的,但这依赖于用户在完成有效负载之前没有结束呼叫(例如,如果您知道正确的号码,则可以删除一些语音邮件)。

答案 1 :(得分:0)

由tc描述的变化。真的发生了。同时,我们将DTMF tel的末尾限制为'+',并导致DTMF故障 所以,像tel:// 1234567,12345 +这样的网址在iPhone 5上不起作用,但即使使用ios6也适用于iPhone4 工作电话网址:

NSString * baseTel = @"12345";
NSString * ext = @"54321";
NSString * telStr = [NSString StringWithFormat:@"tel://%@,%@#",$baseTel,$ext];
NSURL * theUrl = [NSURL URLWithString:[telStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

此号码拨打12345并在线路接听后播放DTMF 54321#。