ios - 尝试获取电话号码时不断获取 nil

标签 ios swift

我现在正在将电话号码保存为字符串,并且它使用 json 对象。

{ 
  userFirstName: 'Jamie',
  phone: '019-443 4444',
 }   

我将 json 对象保存到名为 phoneNumber 的变量中

var phoneNumber: String? 

所以我尝试打印出电话号码,结果成功了

@IBAction func calledPassenger(_ sender: MyButton) {
       if let phone = phoneNumber {
           print(phone) 
       }
}

xcode控制台上的结果是019-443 4444

当我尝试使用 NSURL 时,我得到了意想不到的 nil

 @IBAction func calledPassenger(_ sender: MyButton) {

        if let phone = phoneNumber {
            if let phoneCallURL:URL = URL(string:"tel://\(phone)") {
                let application:UIApplication = UIApplication.shared
                if (application.canOpenURL(phoneCallURL)) {
                    if #available(iOS 10.0, *) {
                        application.open(phoneCallURL, options: [:], completionHandler: nil)
                    } else {
                        // Fallback on earlier versions
                    };
                }
            }
        }
    }

现在有什么问题吗?

最佳答案

无需使用“-”字符。 另外,如果您想要默认格式(不带空格),请使用 URL(string:"telprompt://"+phone.replacingOccurrences(of: "", with: ""))

关于ios - 尝试获取电话号码时不断获取 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46707730/

相关文章:

ios - 在 UITextView 中保存数据

ios - 在人像模式下检测到风景(模拟器)

ios - 如何更改选定和未选定的 carbonSegmentedControl 项目的 alpha

objective-c - 编辑 app delegate 以锁定肖像 ios 5 和 6

ios - Swift:将普通字符串转换为 YYYY-MM-DD 类型的字符串?

ios - 基于scrollView动态改变位置

ios - 尝试在 UINavigationController 上呈现 UIAlertController,其 View 不在窗口层次结构中

ios - 如何使用更新的 UIImagePickerControllerDelegate iOS 12 API?

iOS UIContainerView 位于 UIContainerView 内的 UIViewController 内?

ios - Xcode 自定义字体未显示在应用程序中