2015-09-08 3 views
0

Я пытаюсь получить UIWebView для отображения google.com на данный момент, но не загружается:Objective-C UIWebView не загружается сайт

Я просто получаю пустой экран

.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 

То, что я сделал это следующие действия для создания веб-просмотра:

  • Создано новый UIViewController сцена
  • Добавлен UIWebView к нему
  • соединили WebView не .h контроллер
  • Сделано моя сцена щёток сцена
  • Ран приложение, ничего не грузится, никаких ошибок , просто перейдите прямо к UIViewController, ничего в нем, пожалуйста, помогите.

Я попытался добавить следующее:

[self.view addSubview:self.webView]; 

Это ничего не

+0

не так попробуйте [webView loadRequest: request]; , Также вы должны использовать свойство webview в своей реализации. – ApolloSoftware

+0

Это не имеет смысла, когда вы пытаетесь добавить его в качестве подзаголовка, когда на выходе уже есть –

ответ

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. 
} 

и добавить этот новый метод в классе (также реализовать UIWebViewDelegate в тэ .h)

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error 
{ 
    //Check if the web view loadRequest is sending an error message 
    NSLog(@"Error : %@",error); 
} 
+0

Это то, что было в моей консоли: 'WebView: > ' – user979331

+0

И никогда не печатайте журнал didFailLoadWithError? – piyuj

1

Если вы действительно используете выход для веб-просмотра, тогда это должно работать независимо от того, что.

[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]]]; 
+0

убедитесь, что розетка подключена в раскадровке –

0

Возможно, вы построили в Xcode 7 и нацелились на iOS 9?

Если да, то вы, вероятно, работаете в новое требование безопасности по умолчанию для доступа к сайтам через HTTPS, как подробно описаны здесь:

Disabling ATS for an in-app browser in iOS 9?

5

Если Вы работаете Web View на прошивке> 9.0, вероятно, Вы не добавили ключ NSAppTransportSecurity для проекта * .plist, поэтому приложение не может запрашивать какой-либо URL-адрес.

Если Вы хотите, чтобы все запроса 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> 
0

Возможно, проблема в том, что вы вызываете seter (_webView).Попробуйте через:

[self.webView loadRequest:request]; 
1

надстройку Break Point, проверьте NSURLRequest *request равна нулю, если ноль, то сделать

NSString *urlString = @"http://www.yourWebAddress.com"; 
    NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];//[NSURL URLWithString:urlString]; 
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url]; 
    [webView loadRequest:urlRequest]; 

попробовать кодировать URL ... надеюсь, что это будет работает