在iOS 10.3上使用tel:// scheme拨打电话号码时提示
更新到10.3后,我的应用程序不再使用openURL:options:completionHandler:方法在应用程序中按下通话button后自动拨打一个电话号码。
相反,每次都会出现提示以确认用户的意图。
根据Apple文档:
电话urlscheme用于启动iOS设备上的电话应用程序,并启动拨打指定的电话号码。 当用户点击网页中的电话链接时,iOS会显示一个提示,询问用户是否真的想拨打电话号码,并在用户接受时启动拨号。 当用户使用本地应用程序中的telscheme打开URL时,iOS不会显示警报并启动拨号,而不会进一步提示用户。 但是,可以将本机应用程序configuration为显示自己的警报。
据此,提示显示网页,但不显示在本机iOS应用程序。
这可能是10.3中的一个错误吗? 还是有一个新的function,我需要使用或新的属性,包括在info.plist我不知道?
谢谢。
这在10.3发行说明中被列为已知问题。
https://developer.apple.com/library/content/releasenotes/General/RN-iOSSDK-10.3/
的OpenURL
当第三方应用程序调用openURL:在电话://,facetime://或facetime-audio:// URL时,iOS将显示一个提示,并在拨号前要求用户确认。
它也被列在10.3更新的安全内容中,所以我假设这是一个新function,在这里留下来。
iOS中存在一个问题,允许不需要提示的调用。 通过提示用户确认呼叫启动来解决此问题。
这不是第一次,苹果开发者已经重新激活了这个URL的计划警报? 我记得他们做了这种types的激活,即使在其他几个更早的更新中,他们在下一次OS更新中回滚。
就10.3.1而言,我看到一个消息,就是在美国有911个电话被骗了。 https://9to5mac.com/2017/03/06/911-ios-exploit/
在我看来,警报限制已被纳入停止错误的911拨号。
我相信,苹果不可能经常对API / Schemes进行任意的改变,这在很大程度上影响了用户的体验。
我在过去的8年中在商店里有一个快速拨号应用程序。 https://itunes.apple.com/us/app/speed-dial/id306569903?ls=1&mt=8#在过去的几个星期里,有太多的用户抱怨这个快速拨号的新的限制。;
目前,我们必须等到苹果在下一次更新中修复这个已知问题。 因为,有100个生产力应用程序,依赖于URLscheme,没有提示scheme。