我需要在野生动物园浏览器中打开链接,但我不确定,应该使用哪种方法? openURL/open或canOpenURL。谁能帮我解释一下这两种功能之间的实际区别是什么?
if #available(iOS 10.0, *) {
UIApplication.shared.open(URL(string: urlStr)!, options: [:], completionHandler: nil)
UIApplication.shared.canOpenURL(URL(string: urlStr)!)
} else {
UIApplication.shared.openURL(URL(string: urlStr)!) //introduced: 2.0, deprecated: 10.0,
UIApplication.shared.canOpenURL(URL(string: urlStr)!) // available(iOS 3.0, *)
}
Run Code Online (Sandbox Code Playgroud)
canOpenURL(_ :)
返回一个布尔值,该值指示该URL的方案是否可以由设备上安装的某些应用程序处理。
openURL(_ :)
尝试以指定的URL打开资源。
openURL(_:) 不推荐使用- iOS 10.0
请改用该open(_:options:completionHandler:)方法。例:
if UIApplication.shared.canOpenURL(url) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: { (success) in
})
} else {
UIApplication.shared.openURL(url)
}
}
Run Code Online (Sandbox Code Playgroud)
如果您的应用在iOS 9.0或更高版本上链接,则必须通过将LSApplicationQueriesSchemes密钥添加到应用的Info.plist文件来声明传递给此方法的URL方案。无论是否安装了适当的应用程序,此方法对于未声明的方案始终返回false。
| 归档时间: |
|
| 查看次数: |
2699 次 |
| 最近记录: |