我在日志中收到此错误?
虽然我在模拟器上运行这个,但这在测试阶段是否重要?
canOpenURL:网址失败:“tel:// 0478733797” - 错误:“此应用不允许查询方案电话” 按下callNumber按钮
这是我的功能。
字符串是“0478733797”
func callNumber(phoneNumber:String) {
if let phoneCallURL = URL(string: "tel://\(phoneNumber)") {
let application:UIApplication = UIApplication.shared
if (application.canOpenURL(phoneCallURL)) {
application.open(phoneCallURL, options: [:], completionHandler: nil)
}
}
}
答案 0 :(得分:0)
您遇到的错误描述您未允许您的应用打开查询方案。要解决这个问题,您应该在info.plist中添加以下权限
<key>LSApplicationQueriesSchemes</key>
<array>
<string>tel</string>
</array>
在设备上运行您的应用程序而不是模拟器
答案 1 :(得分:0)
要拨打电话,您只需要这样做:
let urlSchema = "tel:"
let numberToCall = "0478733797"
if let numberToCallURL = URL(string: "\(urlSchema)\(numberToCall)")
{
if UIApplication.shared.canOpenURL(numberToCallURL)
{
UIApplication.shared.openURL(numberToCallURL)
}
}
只有您使用URL
创建的tel:
格式不正确。
无需向Info.plist
添加任何内容。此外,iOS Simulator
不支持通话。因此,请尝试在实际设备上运行它。
如果您仍然遇到任何问题,请告诉我。快乐的编码..