首页 文章

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

提问于
浏览
2

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

例如NSURL * url = [NSURL URLWithString:@“tel:15555551212 ,, 1234#”];

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

2 回答

  • 0

    ,; 之后,更改似乎允许 #* ,即在呼叫连接后发送DTMF . , 等待几秒钟, ; 让用户决定何时发送,例如一个"Dial 123"按钮 . 由于不会将其解释为服务/ USSD / etc代码,因此可能认为通过呼叫发送DTMF是安全的 .

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

  • 3

    这个变化由tc描述 . 真的发生了 . 与此同时,我们将DTMF电话的末尾限制在'+',并导致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# .

相关问题