0

我正在使用iOS6,我无法拨打此号​​码:*222*20#

这是我的代码:

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:*222*20#"]]];

当我运行上面的脚本时没有任何反应?
或者,拨打号码有一些限制?!

4

1 回答 1

6

这是因为您的号码包含*#

为了防止用户恶意重定向电话或更改电话或帐户的行为,电话应用程序支持 tel 方案中的大部分(但不是全部)特殊字符。具体来说,如果 URL 包含 * 或 # 字符,电话应用程序不会尝试拨打相应的电话号码。 如果您的应用程序从用户或未知来源接收 URL 字符串,您还应确保正确转义任何可能不适合 URL 的特殊字符。对于本机应用程序,使用 NSString 的 stringByAddingPercentEscapesUsingEncoding: 方法来转义字符,这将返回原始字符串的正确转义版本。

请查看iPhoneURLScheme了解更多详情。

于 2013-01-17T10:53:45.910 回答