在iPhone上拨打命令前缀

时间:2010-04-28 01:49:43

标签: iphone cocoa-touch url tel

我们的应用程序允许用户拨打电话号码。用户希望能够阻止他们的来电显示。

在其他平台上,我们让用户指定自定义拨号前缀。例如,在我的手机提供商上它是#31#。

到目前为止,我尝试了两种方法。

首先:

id url = [NSURL URLWithString: @"tel:#31#0000000"]
// produces nil

第二

id encoder = ["#31#0000000" stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
// produces %2331%230000000
id url = [NSURL URLWithString: [NSString stringWithFormat: @"tel:%@", encoded]];
// produces a valid-looking NSURL which doesn't do anything

我正在考虑在这一点上我甚至不允许拨打#和*,即使是来自Cocoa touch应用程序。 (我知道它不允许来自网络应用程序。)这是真的吗,还是我错过了一些明显的东西?

1 个答案:

答案 0 :(得分:1)

看起来似乎没有办法做到这一点。

  

为防止用户恶意重定向电话或更改电话或帐户的行为,电话应用程序支持tel方案中的大多数但不是全部特殊字符。具体来说,如果URL包含*或#字符,则电话应用程序不会尝试拨打相应的电话号码。

- Apple URL Scheme Reference Phone Links