tel: and mailto: links not working on iOS13 only


Mr Benn

On iOS 13 the links to launch mail and phone applications don't work. They work on Android and in earlier versions of iOS an no problem.

I have tried all combinations of suggestions in this post, but none of them work - Tel:* and Sms:* links don't work on ios under cordova in phonegap?

<a class="item item-icon-left item-icon-right dark" href="tel:0044123456789" ng-click="trackTap('Telephone')">
<i class="icon ion-ios-telephone"></i>
Give us a call
<i class="icon ion-ios-arrow-right"></i>

<a class="item item-icon-left item-icon-right dark" href="mailto:[email protected]" ng-click="trackTap('[email protected]')">
<i class="icon positive ion-email"></i>
Email us
<i class="icon ion-ios-arrow-right"></i>

in config.xml I have:

<allow-navigation href="*" />
<allow-intent href="http://*/*"/>
<allow-intent href="https://*/*"/>
<allow-intent href="tel:*"/>
<allow-intent href="sms:*"/>
<allow-intent href="mailto:*"/>
<allow-intent href="geo:*"/>

In another page of the app I have:

method: 'GET',
url: '',
timeout: 15000

Some posts suggest removing <allow-navigation href="*" /> but if I do that then the $http GET call no longer works on any platform/ OS version.

When clicking the tel: and mailto: links in the XCode console I see

CDVWebViewDelegate: Detected redirect when loadCount=-1 but that appears when it works in earlier iOS versions as well, so I don't think it's relevant.
After removing <allow-navigation href="*" /> form the config.xml (and breaking the AJAX call on all devices) I see the following error on iOS 13:

2019-10-06 22:11:28.960247+0100 GPCalc[89217:4657117] [default] Failed to open URL tel:0044123456789: Error Domain=NSOSStatusErrorDomain Code=-10814 "(null)" UserInfo={_LSLine=247, _LSFunction=-[_LSDOpenClient openURL:eek:ptions:completionHandler:]}
Continue reading...