0

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

在其他平台上,我们让用户指定自定义拨号前缀。例如,在我的手机提供商上它是#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 触摸应用程序,我也不允许拨打 # 和 *。(我知道网络应用程序不允许这样做。)这是真的,还是我遗漏了一些明显的东西?

4

1 回答 1

1

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

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

Apple URL Scheme 参考电话链接

于 2010-05-26T17:29:49.703 回答