Ios 如何使用swift打开url链接?
我想通过点击按钮转到一个url。我尝试过使用“UISharedapplication”,也尝试过下面提到的方法,但没有一个有效。请帮忙。 谢谢Ios 如何使用swift打开url链接?,ios,swift,xcode,uiapplication,openurl,Ios,Swift,Xcode,Uiapplication,Openurl,我想通过点击按钮转到一个url。我尝试过使用“UISharedapplication”,也尝试过下面提到的方法,但没有一个有效。请帮忙。 谢谢 问题在于UIApplication的canOpenURL()方法只是返回URL是否可以打开,而不是实际打开URL。确定是否可以打开URL后(如您所做的那样,通过调用canOpenURL()),必须在共享ui应用程序实例上调用open(),以实际打开URL。这一点如下所示: if let url = URL(string: "http://www.appl
问题在于
UIApplication
的canOpenURL()
方法只是返回URL是否可以打开,而不是实际打开URL。确定是否可以打开URL后(如您所做的那样,通过调用canOpenURL()
),必须在共享ui应用程序
实例上调用open()
,以实际打开URL。这一点如下所示:
if let url = URL(string: "http://www.apple.com") {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:])
}
}
还接受一个可选的completionHandler
参数,该参数带有一个success
参数,您可以选择实现该参数来确定URL是否已成功打开。canOpenURL(:)
方法用于确定是否已安装可以处理URL方案的应用程序。若要打开指定URL的资源,请使用open(\uquot:options:completionHandler:)
方法。例如
if let url = URL(string: "apple.com") {
if UIApplication.shared.canOpenURL(url) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
}
}
有关更多信息,请查看此处的文档let url=url(字符串:”)let vc=SFSafariViewController(url:url!)present(vc,动画:true,完成:nil)通过添加“Safarice”框架也解决了此问题。谢谢
if let url = URL(string: "apple.com") {
if UIApplication.shared.canOpenURL(url) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
}
}