WKWebView白屏(Objective-C)

WKWebView White Screen (Objective-C)

Webkit 仍有一些问题。在解决了昨天早上的错误之后,我遇到了一系列全新的错误,从 113 次到直接崩溃(对 iOS 开发人员来说真的很新,在 C++ 中接受过正式培训并且非常生疏哈哈)。

我终于得到了一些不会崩溃的代码,而且我觉得我对 Objective-C/iOS 总体开发有了更好的掌握 - 只有一个问题......它没有加载。

WebView.h

#ifndef WebView_h
#define WebView_h
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <Webkit/Webkit.h>

@interface ViewController: UIViewController;
@property (nonatomic, strong) IBOutlet WKWebView *webView;
@property (nonatomic, strong) IBOutlet UIView *view;
@end 
#endif WebView_h

WebView.m

@implementation ViewController
@synthesize webView;
-(void) viewDidLoad {
    [super viewDidLoad];
    webView = [[WKWebView alloc] initWithFrame:[[self view] bounds]];
    NSURL *url = [NSURL URLWithString:@"http://www.penelopeperu.com/"];
    NSURLRequest *urlReq = [NSURLRequest requestWithURL:url];

    [webView loadRequest:urlReq];
    self.view = webView; 
}
@end

我怀疑它与视图/UIView 和加载有关?我只是不确定如何准确指出我做错了什么。

您的 url 未使用 "https" 安全协议,因此您需要在 Info.plist 文件中添加以下密钥以允许在网络视图中加载您的 url。

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

此外,您在使用 webview 时又做了一件错误的事情。

这不是在 self.view 中添加 webview 的正确方法。

self.view = webView; 

将此行更新为;

[self.view addSubview:webView];