如何在iOS 10中使用openURL?

时间:2016-09-16 15:02:45

标签: ios10

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

这是我的代码:

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

编译器发出警告:“Null传递给需要非null参数的被调用者。”

困惑我应该传递的内容......?

3 个答案:

答案 0 :(得分:5)

你应该这样写:

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

答案 1 :(得分:3)

对于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)

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

答案 2 :(得分:1)

适用于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")
        }            
    }
}