我是iPhone新手。 我想在我的应用程序中打开一个URL。 我该怎么做这个任务?请建议我并提供一些有用的链接。
答案 0 :(得分:76)
显然上面给出的链接已经过时了。以下是UIApplication类的更新链接。
快速简单的代码段是:
// ObjC
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"http://www.google.com"]];
// Swift
UIApplication.shared.open(URL(string: "http://www.google.com")!, options: [:], completionHandler: nil)
答案 1 :(得分:12)
更新(2016):现在最好的方法是实例化并呈现SFSafariViewController。这为用户提供了Safari的安全性和速度,并且可以访问他们可能已经设置的任何Cookie或Safari功能,而无需离开您的应用。
如果您想在Safari中打开网址(并退出您的应用程序),可以使用openURL method of UIApplication
如果您希望在应用内部处理它,请使用WKWebView。
答案 2 :(得分:5)
如果您想打开并从URL获取数据,可以使用NSString:
NSString *ans = [NSString stringWithContentsOfURL:url];
如果您要获取的是来自URL的XML,则可以直接使用NSXMLParser:
NSURL *url = [[NSURL alloc] initWithString:urlstr];
NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
// parse here
[parser release];
[url release];
另一方面,如果打开你的意思是在嵌入式浏览器中打开一个URl,你可以使用UIWebView类。
答案 3 :(得分:3)
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"https://medium.com/the-traveled-ios-developers-guide/swift-3-feature-highlight-c38f94359731#.83akhtihk"]]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://medium.com/the-traveled-ios-developers-guide/swift-3-feature-highlight-c38f94359731#.83akhtihk"]];
}
else{
[SVProgressHUD showErrorWithStatus:@"Please enable Safari from restrictions to open this link"];
}