2010-04-28 43 views
0

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

在其他平台上,我们让用户指定一个自定义拨号前缀。例如,在我的手机提供商那里#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 

我想在这一点上我只是不能拨#和*,即使从可可触摸应用。 (我知道它不允许从一个网络应用程序。)这是真的,还是我错过了明显的东西?

+1

我建议做一个接触您的地址簿与指定的电话号码,然后通过程序获取有关该电话号码的信息,看是否能找到什么样子。 – 2010-04-28 01:52:36

+0

聪明的主意,Ed! – 2010-04-28 01:58:27

+0

重复的http://stackoverflow.com/questions/4660951/problem-using-tel-with-star-asterisk – 2012-02-24 09:12:53

回答

1

看起来有意无法做到这一点。

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

- Apple URL Scheme Reference Phone Links

相关问题