iOS(Swift 5)如何实现无弹窗直接拨打电话?
iOS Swift 5 能否直接发起呼叫跳过确认弹窗?
你的当前代码(存在格式错误)
if let url = URL(string: "tel:/ +91*******") { // 字符串未闭合、URL格式有误 UIApplication.shared.open(url, options: [:], completionHandler: nil) }
问题
点击呼叫按钮时会弹出“呼叫/取消”的确认弹窗,请问在iOS Swift 5中有没有方法可以直接发起呼叫,跳过这个弹窗?
解答
iOS系统出于用户隐私和费用安全的强制限制,不允许第三方APP跳过确认弹窗直接发起呼叫,这是系统层面的规则,没有官方API可以绕过。
另外你当前的代码存在两处错误,修正后的正确代码如下:
if let url = URL(string: "tel:+91*******") { UIApplication.shared.open(url, options: [:], completionHandler: nil) }
无论是使用tel://还是telprompt://协议,都会触发系统的确认弹窗,这一限制无法突破,目的是防止恶意APP未经用户同意擅自发起呼叫,避免产生不必要的通信费用或隐私风险。
内容的提问来源于stack exchange,提问作者Pradeep Mithna
相关产品推荐
相关产品推荐

