如何在iOS 10中使用openURL?

问题描述 投票:4回答:3

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

这是我的代码:

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

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

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

ios10
3个回答
5
投票

你应该这样写:

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

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)

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


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")
        }            
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.