8.3 C
Canberra
Monday, April 13, 2026

swift – Flutter iOS: USSD code with * and # not launching in cellphone dialer (works on Android)


hiya,


Flutter iOS: USSD code with * and # not launching in cellphone dialer (works on Android)
flutter ios ussd url-launcher tel-uri PROBLEM

My Flutter app executes USSD codes for cellular cash recharges. It labored appropriately on iOS earlier than 2026, however after updating the app, USSD codes now not execute on iPhone.

Key statement: After testing, I discovered:

An everyday cellphone quantity like 0123456789 → opens dialer appropriately ✅
USSD with * eliminated → opens dialer ✅
USSD with # eliminated → opens dialer ✅
Full USSD like *140*1*70000000# → nothing occurs ❌

This isn’t a code change on my facet — the identical code labored earlier than. The difficulty seems solely on iOS (iPhone 7, 10, 12 examined). Android works advantageous.

MY CURRENT CODE

static Future ussd(String ussdCode) async {  
  if (kIsAppleOS) {  
    ultimate Uri uri = Uri(  
      scheme: 'tel',  
      path: ussdCode, // e.g. *140*1*70000000#  
    );  
    await launchUrl(uri);  
  } else {  
    await DirectCallPlus.makeCall(ussdCode);  
  }  
}

ENVIRONMENT

Flutter 3.x · url_launcher: ^6.1.7 · direct_call_plus: ^1.0.4 · iOS 15, 16, 17 · Units: iPhone 7, 10, 12

WHAT I TRIED
Encoding # as %23 → nonetheless blocked
mode: LaunchMode.externalApplication → no distinction
Uri.parse(‘tel:*140percent231’) as a substitute of Uri() → nonetheless blocked
Package deal ussd_launcher: ^1.5.0 → Android solely, no iOS assist
QUESTION

Is there any technique to execute a USSD code routinely on iOS in 2025/2026 from a Flutter app? Or is that this totally blocked by Apple? If that’s the case, what’s the finest UX fallback technique to information the consumer to dial manually?

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

[td_block_social_counter facebook="tagdiv" twitter="tagdivofficial" youtube="tagdiv" style="style8 td-social-boxed td-social-font-icons" tdc_css="eyJhbGwiOnsibWFyZ2luLWJvdHRvbSI6IjM4IiwiZGlzcGxheSI6IiJ9LCJwb3J0cmFpdCI6eyJtYXJnaW4tYm90dG9tIjoiMzAiLCJkaXNwbGF5IjoiIn0sInBvcnRyYWl0X21heF93aWR0aCI6MTAxOCwicG9ydHJhaXRfbWluX3dpZHRoIjo3Njh9" custom_title="Stay Connected" block_template_id="td_block_template_8" f_header_font_family="712" f_header_font_transform="uppercase" f_header_font_weight="500" f_header_font_size="17" border_color="#dd3333"]
- Advertisement -spot_img

Latest Articles