iOS swift,使用字母表执行电话呼叫操作,包括;W";给出了一个系统错误

iOS swift,使用字母表执行电话呼叫操作,包括;W";给出了一个系统错误,ios,swift,phone-call,Ios,Swift,Phone Call,使用字母表执行调用操作时存在问题,特别是其中包含“w”的单词。IM得到了一个系统错误与电话号码=“964 355W84”,理想的是,它应该考虑W为9,并执行呼叫操作到“964 355W84”,但它往往采取“W”作为;并尝试拨打“964355;874”。 我分析发现,如果你在iPhone通话中尝试同样的方法,保存一个与ph的联系:“964355w874”,同样的结果也会出现。 我发现这个问题只针对字母“W”。 有人面临过这个问题吗?你有解决这个问题的办法吗 if let url = URL(str

使用字母表执行调用操作时存在问题,特别是其中包含“w”的单词。IM得到了一个系统错误与电话号码=“964 355W84”,理想的是,它应该考虑W为9,并执行呼叫操作到“964 355W84”,但它往往采取“W”作为;并尝试拨打“964355;874”。 我分析发现,如果你在iPhone通话中尝试同样的方法,保存一个与ph的联系:“964355w874”,同样的结果也会出现。 我发现这个问题只针对字母“W”。 有人面临过这个问题吗?你有解决这个问题的办法吗

if let url = URL(string: "telprompt:\(phoneNumber)") {
  if UIApplication.shared.canOpenURL(url) {
    UIApplication.shared.openURL(url)
  }
}

预期的结果是什么?一个电话号码不应该只包含数字吗?或者你希望W转换成9作为美国键盘吗?离题了,但你不应该在方案后有双斜杠吗
telprompt://
根据第5.1.2节的规定,
tel://
不允许使用信函,我假设@WarrenBurton所说的同样规则适用于
telprompt://
。不想在电话号码中只使用数字。我不认为iOS本身能为你做到这一点。如果你想用9替换“w”,或者用数字替换任何字符,那么你必须用replacingOccurrences(of:“w”,改为:“9”)替换这些字符。看起来你正在尝试做一些操作系统不支持的事情。您需要检查信件,并自行更换。