我正在开发iOS 10应用程序,因为openURL已被弃用,我需要使用新方法的一些帮助。我面临的问题是不知道在options参数中传递什么。
这是我的代码:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"] options:nil completionHandler:nil];
编译器发出警告:“Null传递给需要非null参数的被调用者。”
困惑我应该传递的内容......?
答案 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")
}
}
}