就在最近,我们注意到现在允许在iOS 5.1中拨打带有#或*字符的tel:URI调用[[UIApplication sharedApplication] openURL:url]。
e.g。 NSURL * url = [NSURL URLWithString:@“tel:15555551212 ,, 1234#”];
文档似乎没有更新,表明现在允许这样做。它仍然无法在iOS 4.x中运行。我们正在测试看看它何时发生变化。有没有人知道Apple是否正式改变了从应用程序拨打这些字符的政策?
答案 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#。