【问题标题】:Tel:* and Sms:* links don't work on ios under cordova in phonegap?Tel:* 和 Sms:* 链接在 phonegap 中的 cordova 下的 ios 上不起作用?
【发布时间】:2017-01-19 19:54:33
【问题描述】:

我的应用使用 href: tel 链接,并且一年前我第一次发布它时它工作正常。

我在 config.xml 中使用了 allow-intent:

  <access origin="*"/>
  <access origin="tel:*" launch-external="yes"/>
  <access origin="sms:*" launch-external="yes"/>
  <plugin name="cordova-plugin-whitelist"/>
  <allow-intent href="http://*/*"/>
  <allow-intent href="https://*/*"/>
  <allow-intent href="tel:*"/>
  <allow-intent href="sms:*"/>
  <allow-intent href="mailto:*"/>
  <allow-intent href="geo:*"/>

但现在新编译的 iOS 应用程序具有相同的配置不适用于 href: tel 链接。什么都没有发生。

正如这里所说:cordova - Why tel:* links don't work on ios? - Stack Overflow 我需要从 config.xml 中删除允许导航。但我那里没有。

什么是让它在新的cordova下工作的正确配置?

编辑:其他外部链接和短信:* 效果不佳,但在 iPad 上,电话:* 链接提供复制号码(预期行为)

【问题讨论】:

  • 您知道使用哪个 CLI 来构建应用程序吗?使用的是哪个cordova-ios平台版本?
  • 据我所知 phonegap.build.com 在 Cordova 的 4.3.0 上
  • 你为什么不检查?该信息在构建页面上
  • 不知道这个:( PhoneGap (iOS / Android / Windows) => cli-6.3.0 (4.2.0 / 5.2.1 / 4.4.1)

标签: cordova phonegap-build


【解决方案1】:

尝试删除 tel 和 sms 的访问源

<access origin="tel:*" launch-external="yes"/> <access origin="sms:*" launch-external="yes"/>

您也可以尝试将 CLI 版本设置为 6.4.0,在 cordova-ios 4.3.0 中意图和导航过滤器的工作方式发生了一些变化,而您使用的是 4.2.0

&lt;preference name="phonegap-version" value="cli-6.4.0" /&gt;

但是我看到了一个错误报告,当应用程序使用 Cordova 在本地编译但不能在 Phonegap Build 上工作时,电话链接可以工作,所以这可能是一个错误。

【讨论】:

  • 我没有删除访问源,我为 cli-6.4.0 设置了偏好
  • 这是什么?删除访问标签?那么您使用的是非常旧的 Cordova/Phonegap 版本,使它们工作的方法是使用 allow-intent 代替
  • 当我升级到 CLI 6.4.0 时,我什至没有在 Phonegap 上构建它有一个错误代码 70.... 与它的 6.5.0 相同
  • @Benyaman 你应该在 phonegap 构建论坛上询问 forums.adobe.com/community/phonegap/build
【解决方案2】:

评论下面的allow-navigationaccess origin launch-external 来自config.xml(清单)的链接集,用于tel:、sms:和mailto:*链接以在ionic cordova 或phonegap 上工作安卓和ios:

<allow-navigation href="tel:*" />
<allow-navigation href="mailto:*" />

<access origin="tel:*" launch-external="yes" />
<access origin="mailto:*" launch-external="yes" />

也许是这样,因为最新的 Cordova 和 Phonegap 版本旨在使用以下 allow-intent 链接集,而不是 allow-navigationaccess origin launch-external 链接:

<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" /> 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多