以编程方式从iphone拨打USSD代码

时间:2013-10-25 12:02:30

标签: ios iphone

如何以编程方式拨打iphone的USSD代码?

我进行了搜索,发现iOS 7出于安全原因已经阻止了USSD代码的使用,并且使用< iOS7我们可以手动拨打USSD代码但不能以编程方式拨打。

任何人都有想法,我们可以通过编程方式调用USSD:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:\*123* <2334555>#"]]

2 个答案:

答案 0 :(得分:12)

您无法拨打包含*或#字符的号码。出于安全原因,Apple不允许使用拨号字符串。

Apple Documentation says

  

防止用户恶意重定向电话或更改   手机或帐户的行为,手机应用程序支持最多,但   不是全部,电话方案中的特殊字符。具体来说,如果   URL包含*或#字符,Phone应用程序不会尝试   拨打相应的电话号码。如果您的应用收到了网址   来自用户或未知来源的字符串,您还应该确保   任何可能不适合在URL中的特殊字符   逃脱得当。对于原生应用,请使用   stringByAddingPercentEscapesUsingEncoding:NSString的方法   转义字符,返回正确转义的版本   原始字符串。

答案 1 :(得分:0)

不,您无法使用openURL以编程方式拨打USSD代码。这样做会返回NO