12

After updating to 10.3, my app no longer automatically dials a phone number after pressing the call button in my app using the openURL: options: completionHandler: method.

Instead, a prompt comes up every time to confirm the user's intentions.

As per the Apple Documentation:

The tel URL scheme is used to launch the Phone app on iOS devices and initiate dialing of the specified phone number. When a user taps a telephone link in a webpage, iOS displays an alert asking if the user really wants to dial the phone number and initiates dialing if the user accepts. When a user opens a URL with the tel scheme in a native app, iOS does not display an alert and initiates dialing without further prompting the user. However, a native app can be configured to display its own alert.

According to this, the prompt displays for webpages but doesn't display in a native iOS app.

Could this be a bug in 10.3? Or is there a new function I need to use or a new property to include in the info.plist I do not know about?

Thanks.

4

2 回答 2

17

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

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

打开网址

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

它也列在 10.3 更新的安全内容中,所以我假设这是一个新功能。

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

于 2017-03-30T15:13:43.400 回答
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 方案而没有警报方案。

于 2017-04-20T07:19:18.847 回答