这里真正基本的问题:我的视图控制器中有一个Web视图,无法弄清楚如何使其显示网站。我能找到的解决方案都没有为我工作。我在网上看到的大部分内容都告诉我输入下面的代码(示例网址),但是我收到错误告诉我删除'@'并添加几个';'但这样做并不能解决问题。
- (void)viewDidLoad {
[super viewDidLoad];
NSString *fullURL = @"http://conecode.com";
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_viewWeb loadRequest:requestObj];
我不确定为什么我在使用看起来如此简单的东西时遇到这么多困难......这就是我的代码中的所有内容。如何让网页视图显示网站?提前致谢!我已经从这个社区学到了很多东西。
import UIKit
class SecondViewController: UIViewController {
@IBOutlet var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
答案 0 :(得分:1)
经过多一点挖掘后,我发现它似乎有效:
var url = NSURL(string: "https://www.google.com")
var request = NSURLRequest(URL: url!)
webView.loadRequest(request)
我不确定这与我找到的早期代码片段有什么关系,而且它对http(vs https)网站不起作用,所以我仍然需要这样做想出来......
答案 1 :(得分:0)
以下是如何将页面加载到UIWebView。
@IBOutlet var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
var url = NSURL(string: "https://www.google.com")
var request = NSURLRequest(URL: url!)
webView.loadRequest(request)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
有关使用http.Applist的http NSAppTransportSecurity密钥的问题
以下是示例:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>google.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
</dict>
</dict>
</dict>
NSAllowsArbitraryLoads - 它允许连接到任何http站点。
或者您可以使用NSExceptionDomains指定网站 - 就像我在上面的代码中发布的那样。 更多的事情 - 检查WKWebView - 它比UIWebView更好地显示页面。 - https://developer.apple.com/library/ios/documentation/WebKit/Reference/WKWebView_Ref/