从编程方式拨号USSD代码
如何以编程方式拨打iphone的USSD
代码?
我search了一下,发现iOS 7
已经为了安全原因而阻止了USSD
代码的使用,而在iOS7中我们可以通过手动方式拨打USSD代码。
任何人都有一个想法,我们可以通过编程方式调用USSD:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:\*123* <2334555>#"]]
?
您不能拨打包含*或#字符的号码。 出于安全原因,Apple不允许他们使用拨号string。
苹果文档说 :
为防止用户恶意redirect电话或更改电话或帐户的行为,电话应用程序支持telscheme中的大部分(但不是全部)特殊字符。 具体而言,如果URL包含*或#字符,则电话应用程序不会尝试拨打相应的电话号码。 如果您的应用程序收到来自用户或未知来源的URLstring,则还应确保在URL中可能不适合的任何特殊字符能够正确转义。 对于本机应用程序,请使用NSString的stringByAddingPercentEscapesUsingEncoding:方法转义字符,这会返回原始string的正确转义版本。
不,您不能使用openURL
以编程方式拨打USSD代码。 这样做会返回NO
。