ios - Swift:在特定场景下拨打电话并不总是有效
问题描述
在我的控制器中,我有 2 个按钮,一个用于发送短信的按钮和一个用于拨打电话的按钮。
问题是拨打电话并不总是有效。
要重现这一点:
- 我点击短信按钮
- 我退出短信应用程序以返回我的应用程序
- 我点击通话按钮,它不起作用
- 我点击短信按钮
- 我退出短信应用程序以返回我的应用程序
- 我点击通话按钮,它的工作原理
它也适用于:
- 当我第一次进入我的控制器时,我点击了呼叫按钮。
- 但是,只要我单击 sms 按钮 cel 就会重现上述流程。
这是我的代码:
func makeCall() {
openExternalUrl(string: "telprompt://\(phone)")
}
func makeSMS() {
openExternalUrl(string: "sms:\(phone)")
}
func openExternalUrl(string: String) {
if let url = URL(string: string), UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url)
}
}
我尝试telprompt://\(phone)
并tel://\(phone)
得到相同的结果。
当我打印完成时open(url:,completion:)
返回的布尔值始终为真,即使未显示调用的弹出窗口
解决方案
推荐阅读
- amazon-web-services - 具有 {aws:SourceIP} 上下文的 IAM 策略的 AWS 模拟
- angularjs - 创建组件 Holder
- docker - 设置我们的 Rasa/NLU 容器,错误?
- symfony - Symfony4 API 平台
- mysql - 排除结果时 MySQL NOT REGEXP 不起作用
- acumatica - 尝试通过 API 从 Acumatica 销售订单中检索所有文件时出错
- sql - 触发器阻止插入到 SQL Server
- swift - 缺少联系代表
- c++ - gcc clang 使用 -Og 未定义对 `std::terminate()' 的引用
- java - Kafka Streams - SerializationException:未知的魔术字节