跟踪iPhone用户是否拨打了USSD代码



我正在开发一个需要呼叫转移的应用程序。众所周知,我们无法在iOS中以编程方式拨打USSD代码,我们是否可以跟踪用户是否通过iPhone拨打了USSD代码,或者如果可能的话,是否是一种检查SIM卡是否用于拨打USSD代码的方法?

更新1:尝试以编程方式调用ussd,但想检查用户是否拨打了它。例如,如果我们手动调用USSD代码,我们是否可以检查任何日志或任何类对象变量,这有助于找出用户是否拨打了特定的USSD代码

我认为

没有办法在不使用私有 API 的情况下在您的应用程序上做到这一点。

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

如果您的项目打算部署在 App Store 之外,您可以使用 CoreTelephony 框架:

CTCallDialWithID(@"*100#", -1);

参考此链接可能对您有所帮助

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

更新:

可悲的是,苹果已经禁止在开发人员可用的(合法)iPhone沙箱中使用USSD代码(通过开放URL方法,传入 tel://xxxxxx URL)。这意味着您的运营商不会有任何应用程序可以轻松检索和更改可以通过应用程序商店发布的网络设置 - 至少在Apple改变对与USSD代码交互的想法之前不会。

参考:iPhone上的USSD-CODES-

最新更新