How to make USSD call on iOS 15.4 beta

My App try to call via tel: scheme for USSD, it worked on iOS 15.3 and earlier but doesn't work on iOS 15.4 beta.

let number = "10*10#" // Doesn't work.
// let number = "1234" // This is Okay.

guard let url = URL(string: "tel:" + number),
          UIApplication.shared.canOpenURL(url) else {
    fatalError()
}

UIApplication.shared.open(url, options: [:]) { success in
    print("success: \(success)") // This is true
}

canOpenUrl() returns true, which means now we can call open() method. But nothing happens when we call open(url: options: completion:).

Answered by user21 in 712497022

This issue seems to be resolved with iOS 15.5 beta 4. So, I think we should wait for its release and my user for updating iOS.

Hi. I have the same issue with version 15.4. Unfortunately the recent update to 15.4.1 still did not resolve the issue. I'm starting to think this is done on purpose

I am facing the same issue when dialing by using WebDriverAgent with url command:

{"url":"tel://0123456"}

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];

It used to work with iOS < 15.4. I am not even using special chars, even a normal dial to a normal msisdn is not working anymore.

This does seem like a pretty critical regression. Are there no workarounds available for this?

Same issue here. My app functionality is broken for this -- I allow users to make calls with their caller id blocked by prefixing with '67'. I've tried manually encoding by replacing '' with '%2A' but it still does not work. Has anyone opened a Technical Support incident?

Is there going to be a fix for this limitation? This impacts a very large amount of users.. The proposed workaround is not a quick solution for multiple sites and would have to be addressed individually??

We're running into this issue as well. For us, Chrome users on iOS 15.4.1 can't open phone links that contain the # symbol. Instead, they get a prompt saying "This website is repeatedly trying to open another application". Clicking "Allow" doesn't do anything.

The links work fine on iOS 15.3 and older versions of iOS and they also work in Safari in iOS 15.4.1. Encoding the # symbol as %23 doesn't make a difference.

We ran into this same issue on iOS 15.4.1. In our case, tel links that included the # symbol weren't working on Chrome, but they did work in Safari. iOS 15.3 and older don't have the issue.

We couldn't fix the issue directly. However, we eventually settled on a less-than-desirable workaround of copying the phone number to the clipboard and instructing users to paste it into their phone app. We also had to specifically detect that the user was using Chrome in iOS so that other users wouldn't be affected.

I hope Apple fixes this soon.

My team's app was also seeing this issue on iOS v15.4.0 and above. I've opened both a Technical Support Incident and submitted the bug via Feedback Assistant.

From the TSI I got the response: "Our engineers have reviewed your request and have determined that you are experiencing a known issue for which there is no known workaround at this time."

Knowing that there was no native option, my team ended up using Twilio to route the call and spoof the callback number (which is an added cost to us versus the user's phone company doing that, but a necessary app requirement).

Accepted Answer

This issue seems to be resolved with iOS 15.5 beta 4. So, I think we should wait for its release and my user for updating iOS.

I just upgrade iOS to 15.5 and USSD is now working.

How to make USSD call on iOS 15.4 beta
 
 
Q