首页 文章

尝试使用iOS 10.3上的tel://方案拨打电话号码时提示

提问于
浏览
12

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

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

根据Apple文档:

tel URL方案用于在iOS设备上启动Phone应用程序并启动拨打指定的电话号码 . 当用户点击网页中的电话链接时,iOS会显示一条警告,询问用户是否确实要拨打电话号码并在用户接受时启动拨号 . 当用户在本机应用程序中打开带有tel方案的URL时,iOS不会显示警报并启动拨号而不会进一步提示用户 . 但是,可以将本机应用程序配置为显示其自己的警报 .

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

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

谢谢 .

2 回答

  • 16

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

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

    openURL当第三方应用程序调用openURL时:在tel://,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 / Scheme进行这种任意改变,这在很大程度上影响了用户的体验 .

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

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

相关问题