如何在iOS10中使用openURL?

How to use openURL in iOS 10?

我正在开发 iOS 10 应用程序,由于 openURL 已被弃用,我需要一些使用新方法的帮助。我面临的问题是不知道在选项参数中传递什么。

这是我的代码:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"] options:nil completionHandler:nil];

编译器发出警告:"Null passed to a callee that requires a non-null argument."

对我应该传递什么感到困惑...?

你应该这样写:

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"] options:@{} completionHandler:nil];

对于 Swift 3 你应该使用这个:

 UIApplication.shared().open(url: URL, options: [String: AnyObject], completionHandler: ((Bool) -> Void)?)

例如我在项目中使用的:

let url = URL(string: "http://kaznews.kz")
UIApplication.shared.open(url!, options: [:], completionHandler: nil)

这是没有选项和处理程序的最简单方法。

对于 iOS 10.2 和 swift 3.1

private var urlString:String = "https://google.com"

@IBAction func openInSafari(sender: AnyObject) {
    let url = NSURL(string: self.urlString)!
    UIApplication.shared.open(url as URL, options: [ : ]) { (success) in
        if success{
            print("Its working fine")
        }else{
            print("You ran into problem")
        }            
    }
}