在我的 ionic v2 cordova 应用程序中用于启动邮件和电话应用程序的 mailto: 和 tel: 链接在 iOS 13 上不起作用。它们在 Android 和早期版本的 iOS 上工作没问题。
我正在使用 cordova 9.0.0 & cordova-ios 5.0.1
此外,如果它们与 cordova-plugin-whitelist 1.3.3 和 cordova-plugin-inappbrowser 3.1.1-dev 相关(解决一个不同的 iOS13 问题,即使用 inappbrowser 无法打开链接,记录在此处 https://github.com/OutSystems/cordova-plugin-inappbrowser/pull/9 )。
我想我已经尝试了这篇文章中的所有建议组合(这在 iOS13 推出之前很久),但都没有用 - Tel:* and Sms:* links don't work on ios under cordova in phonegap?
我的 HTML 看起来像这样:
<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>
<a class="item item-icon-left item-icon-right dark" href="mailto:savings@lynxpurchasing.co.uk" ng-click="trackTap('savings@lynxpurchasing.co.uk')">
<i class="icon positive ion-email"></i>
Email us
<i class="icon ion-ios-arrow-right"></i>
</a>
在 config.xml 中我目前有:
<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:*"/>
我已经删除了:
<access launch-external="yes" origin="tel:*" />
<access launch-external="yes" origin="mailto:*" />
因为我认为不再需要它们。
在我的应用程序的另一个页面中:
$http({
method: 'GET',
url: 'http://www.domain.co.uk/app/app-json.php',
timeout: 15000
})
有些帖子建议删除 <allow-navigation href="*" />
,但如果我这样做,那么 $http GET 调用将不再适用于任何平台/操作系统版本(并且问题仍未解决)。
当我在 XCode 控制台中单击 tel: 和 mailto: 链接时,我看到了
CDVWebViewDelegate: Detected redirect when loadCount=-1
但是当它在早期的 iOS 版本中工作时也会出现,所以我认为它不相关。
从 config.xml 中删除 <allow-navigation href="*" />
(并中断所有设备上的 AJAX 调用)后,单击链接时我在 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:options:completionHandler:]}
最佳答案
我可以确认它可以在装有 iOS 13.1.3 的物理设备上运行,但不能在模拟器(iOS 13.2.2、12.2、10.3.1)上运行
关于cordova - 电话 : and mailto: links not working on iOS13 only,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58261282/