我正在尝试让UIWebView暂时显示google.com,但它没有加载:
我只是得到一个空白的屏幕
·H
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIWebView *webView;
@end
的.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSURL *targetURL = [NSURL URLWithString:@"http://www.google.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[_webView loadRequest:request];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
我做的是创建Web视图的以下内容:
我尝试添加以下内容:
[self.view addSubview:self.webView];
没有做任何事
答案 0 :(得分:6)
如果您在iOS上运行Web View&gt; 9.0,可能您还没有将NSAppTransportSecurity密钥添加到项目* .plist文件中,因此该应用无法请求任何网址。
如果您想要允许所有URL请求,则应将以下代码添加到项目plist文件中:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
否则,如果您只想允许特定的URL请求:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>allowed.domain.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
答案 1 :(得分:1)
如果你真的使用网络浏览的插座,那么无论如何都应该这样做。
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]]];
答案 2 :(得分:1)
添加断点,检查unsigned int var;
sscanf(argv[1], "%X", &var); // will read 0x55
sscanf(argv[2], "%X", &var); // will read 0x66 and so on
是否为零,
如果没有,那么
NSURLRequest *request
尝试对网址进行编码...希望它能正常工作
答案 3 :(得分:0)
尝试添加:
- (void)viewDidLoad {
[super viewDidLoad];
//Check if the web view is linked correctly from the XIB
NSLog(@"WebView : %@",_webView);
_webView.delegate = self;
NSURL *targetURL = [NSURL URLWithString:@"http://www.google.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[_webView loadRequest:request];
// Do any additional setup after loading the view, typically from a nib.
}
并在您的类中添加此新方法(也在te .h中实现UIWebViewDelegate)
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
//Check if the web view loadRequest is sending an error message
NSLog(@"Error : %@",error);
}
答案 4 :(得分:0)
您是否恰好在Xcode 7中构建并定位到iOS 9?
如果是这样,您可能会遇到通过https访问网站的新默认安全要求,详见此处:
答案 5 :(得分:0)
也许问题是你调用seter(_webView)。试一试:
[self.webView loadRequest:request];
答案 6 :(得分:0)
在Info.plist
中允许AppTransport权限为yes