UiWebView不工作为什么?

时间:2015-10-28 00:01:29

标签: ios objective-c uiwebview

我正在尝试使用uiwebview打开网址,但是当我运行模拟器时,我只看到空白的白色屏幕,并且没有网页出现,为什么我做错了?

h.file

@property (weak, nonatomic) IBOutlet UIWebView *webView;

m.file

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSURL *url = [[NSURL alloc] initWithString:@"http://google.com"];
    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
    self.webView.scalesPageToFit = YES;
    [self.webView loadRequest:request];
}

我按照网上的教程尝试找到解决方案,但我找不到出路。

3 个答案:

答案 0 :(得分:1)

您的代码已进入- webView:didFailLoadWithError:

错误

  

App Transport Security已阻止明文HTTP(http://)资源   负载,因为它是不安全的。可以通过配置临时例外   您应用的Info.plist文件。

要允许HTTP,您需要将App Transport Security Key添加到plist

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key><true/>
</dict>

有关详细信息,请查看configuring-app-transport-security

或者您可以使用

测试WebView

@"https://google.com"代替@"http://google.com"

答案 1 :(得分:0)

在info.Plist中添加此

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

在.h文件中创建一个属性 @property(弱,非原子)IBOutlet UIWebView * DisplaywebView;

在.m文件中

NSURL *url = [NSURL URLWithString:@"http://www.apple.com/"];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
[self.DisplaywebView  loadRequest:req];

答案 2 :(得分:0)

instead of UIWebView refer WKWebView.

 WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc]
                                             init];
NSURL *url = [NSURL URLWithString:@“http://google.com”];

WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.frame
                              configuration:configuration];
[webView setNavigationDelegate: self];
[webView loadRequest:[NSURLRequest requestWithURL: url]];
[self.view addSubview:webView];