在设置页面,我想包括三个链接到
我的应用支持网站 YouTube应用教程 我的主要网站(例如:链接到“由Dale Dietrich创建”标签。)
我搜索了这个网站和网页还有我的文档我没有发现任何明显的东西。
注意:我不想在我的应用程序中打开网页。我只想将链接发送到Safari,该链接在那里打开。我已经看到许多应用程序在他们的设置页面做同样的事情,所以这必须是可能的。
在设置页面,我想包括三个链接到
我的应用支持网站 YouTube应用教程 我的主要网站(例如:链接到“由Dale Dietrich创建”标签。)
我搜索了这个网站和网页还有我的文档我没有发现任何明显的东西。
注意:我不想在我的应用程序中打开网页。我只想将链接发送到Safari,该链接在那里打开。我已经看到许多应用程序在他们的设置页面做同样的事情,所以这必须是可能的。
当前回答
斯威夫特的语法:
UIApplication.sharedApplication().openURL(NSURL(string:"http://www.reddit.com/")!)
iOS 9.3及更早版本的新Swift语法
在Swift的某些新版本(可能是Swift 2?)中,UIApplication. sharedapplication()现在是UIApplication。共享(我猜是为了更好地利用计算属性)。另外URL不再隐式转换为NSURL,必须显式转换为as!
UIApplication.sharedApplication.openURL(NSURL(string:"http://www.reddit.com/") as! URL)
iOS 10.0新增Swift语法
从iOS 10.0开始,openURL方法已经被弃用,取而代之的是一个更通用的方法,它接受一个选项对象和一个异步完成处理程序
UIApplication.shared.open(NSURL(string:"http://www.reddit.com/")! as URL)
其他回答
Swift 4解决方案:
UIApplication.shared.open(NSURL(string:"http://yo.lo")! as URL, options: [String : Any](), completionHandler: nil)
斯威夫特5:
func open(scheme: String) {
if let url = URL(string: scheme) {
if #available(iOS 10, *) {
UIApplication.shared.open(url, options: [:],
completionHandler: {
(success) in
print("Open \(scheme): \(success)")
})
} else {
let success = UIApplication.shared.openURL(url)
print("Open \(scheme): \(success)")
}
}
}
用法:
open(scheme: "http://www.bing.com")
参考:
iOS10中的OpenURL
斯威夫特3 带有Done按钮的解决方案
不要忘记导入SafariServices
if let url = URL(string: "http://www.yoururl.com/") {
let vc = SFSafariViewController(url: url, entersReaderIfAvailable: true)
present(vc, animated: true)
}
openURL(:)在iOS 10.0中已弃用,相反,你应该在UIApplication上使用以下实例方法:
Swift使用示例 这将在Safari中打开“https://apple.com”。
if let url = URL(string: "https://apple.com") {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
}
https://developer.apple.com/reference/uikit/uiapplication/1648685-open
试试这个:
NSString *URL = @"xyz.com";
if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:URL]])
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:URL]];
}