在设置页面,我想包括三个链接到
我的应用支持网站 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)
其他回答
以下是我所做的:
我在头文件.h中创建了一个IBAction,如下所示: ——(IBAction) openDaleDietrichDotCom: (id)发送者; 我在设置页面上添加了一个UIButton,其中包含我想要链接的文本。 我将按钮连接到文件所有者中的IBAction。 然后执行以下操作:
objective - c
- (IBAction)openDaleDietrichDotCom:(id)sender {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.daledietrich.com"]];
}
斯威夫特
(IBAction在viewController中,而不是头文件中)
if let link = URL(string: "https://yoursite.com") {
UIApplication.shared.open(link)
}
注意,我们不需要转义字符串和/或地址,比如: 让myNormalString = "https://example.com"; 让myEscapedString = myNormalString。addingPercentEncoding (withAllowedCharacters: .urlHostAllowed) ! 事实上,逃避可能会导致开放失败。
看看UIApplication上的-openURL:方法。它应该允许你向系统传递一个NSURL实例,系统将决定在哪个应用程序中打开它并启动该应用程序。(请记住,你可能想要检查- canopenurl:首先,以防URL不能被当前安装在系统上的应用程序处理-尽管这对于普通的http://链接可能不是问题。)
Swift 4解决方案:
UIApplication.shared.open(NSURL(string:"http://yo.lo")! as URL, options: [String : Any](), completionHandler: nil)
斯威夫特的语法:
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 1.2中,试试这个:
let pth = "http://www.google.com"
if let url = NSURL(string: pth){
UIApplication.sharedApplication().openURL(url)