【问题标题】:Prompt when trying to dial a phone number using tel:// scheme on iOS 10.3在 iOS 10.3 上尝试使用 tel:// 方案拨打电话号码时提示
【发布时间】:2017-08-24 14:34:42
【问题描述】:

更新到 10.3 后,我的应用在使用 openURL: options: completionHandler: 方法按下我的应用中的通话按钮后不再自动拨打电话号码。

相反,每次都会出现提示以确认用户的意图。

根据 Apple 文档:

tel URL 方案用于在 iOS 设备上启动电话应用程序并启动指定电话号码的拨号。当用户点击网页中的电话链接时,iOS 会显示警告,询问用户是否真的要拨打电话号码,如果用户接受,则开始拨号。当用户在本机应用程序中打开带有 tel 方案的 URL 时,iOS 不会显示警报并在不进一步提示用户的情况下启动拨号。但是,可以将原生应用配置为显示自己的警报。

据此,提示会显示网页,但不会显示在本机 iOS 应用程序中。

这可能是 10.3 中的错误吗?或者是否有我需要使用的新功能或要包含在我不知道的 info.plist 中的新属性?

谢谢。

【问题讨论】:

    标签: ios openurl ios10.3


    【解决方案1】:

    这在 10.3 发行说明中被列为已知问题。

    https://developer.apple.com/library/content/releasenotes/General/RN-iOSSDK-10.3/

    openURL

    当第三方应用程序在 tel:// 上调用 openURL: 时, facetime://,或者 facetime-audio:// URL,iOS 会显示一个提示和 拨号前需要用户确认。

    它也在 10.3 更新的Security content 中列出,所以我假设这是一个新功能。

    iOS 中存在允许在没有提示的情况下进行呼叫的问题。这 问题已通过提示用户确认呼叫启动得到解决。

    【讨论】:

      【解决方案2】:

      这不是第一次,Apple 开发人员重新激活了针对 url 方案的警报?我记得他们进行了这种激活,即使在其他几个较早的更新中也是如此,并且他们在下一次操作系统更新中回滚。

      在 10.3.1 的情况下,我看到一条新闻说,在美国有很多 911 电话被冒充。 https://9to5mac.com/2017/03/06/911-ios-exploit/

      在我看来,警报限制已被纳入以阻止错误的 911 拨号。

      我相信,Apple 不能经常对 API/Schemes 进行这种任意更改,这在很大程度上影响了用户的体验。

      在过去的 8 年里,我在商店中有一个快速拨号应用程序。 https://itunes.apple.com/us/app/speed-dial/id306569903?ls=1&mt=8# 在过去的几周里,很多用户都在抱怨这种在快速拨号上再按一次的新限制。

      目前,我们必须等到 Apple 在下一次更新中修复这个已知问题。因为,有 100 多个生产力应用程序,它们依赖于 URL 方案而没有警报方案。

      【讨论】:

      • 约有 10 万用户已下载。
      猜你喜欢
      • 1970-01-01
      • 2012-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-09
      相关资源
      最近更新 更多