【问题标题】:dial USSD code from iphone programmatically [duplicate]以编程方式从iphone拨打USSD代码[重复]
【发布时间】:2013-10-25 12:02:30
【问题描述】:

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

我搜索并发现iOS 7 出于安全原因已经阻止使用USSD 代码,并且在具有

任何人都有一个想法,我们可以像这样以编程方式调用 USSD:

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

【问题讨论】:

  • 为了将来参考,启动 Xcode 并测试那一行代码会更快,而不是在这里询问。

标签: ios iphone


【解决方案1】:

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

Apple Documentation says

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

【讨论】:

  • 我也读过苹果网站但我很困惑,因为我可以用代码拨打 *1# 所以这怎么可能????
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    相关资源
    最近更新 更多