我们的应用程序允许用户拨打电话号码。用户希望能够阻止他们的来电显示。
在其他平台上,我们让用户指定自定义拨号前缀。例如,在我的手机提供商上它是#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应用程序。 (我知道它不允许来自网络应用程序。)这是真的吗,还是我错过了一些明显的东西?
答案 0 :(得分:1)
看起来似乎没有办法做到这一点。
为防止用户恶意重定向电话或更改电话或帐户的行为,电话应用程序支持tel方案中的大多数但不是全部特殊字符。具体来说,如果URL包含*或#字符,则电话应用程序不会尝试拨打相应的电话号码。