UIWebView iOS5 ändert User-Agent

Wie kann ich den user-agent von UIWebView von iOS 5?

, Was ich bisher getan habe:
Mit dem Delegaten-Aufruf wieder abzufangen NSURLRequest, erstellen Sie eine neue url-Anforderung und setzen Sie den user-agent als was ich will, dann die Daten herunterladen, und laden Sie die UIWebView mit "loadData:MIMEType:....".

Problem:
Dies bewirkt, dass eine unendliche Rekursion, wo ich die Daten laden, die ruft den Delegaten zurück, der die Praktikantin ruft den Delegaten....

Hier ist die delegate-Methode:

- (BOOL)webView:(UIWebView *)aWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {



    dispatch_async(kBgQueue, ^{
        NSURLResponse *response = nil;
        NSMutableURLRequest *newRequest = [NSMutableURLRequest requestWithURL:[request URL]];
        NSDictionary *headers = [NSDictionary dictionaryWithObject:
                                 @"custom_test_agent" forKey:@"User-Agent"];
        [newRequest setAllHTTPHeaderFields:headers];
        [self setCurrentReqest:newRequest];
        NSData *data = [NSURLConnection sendSynchronousRequest:newRequest 
                                             returningResponse:&response 
                                                         error:nil];
        dispatch_sync(dispatch_get_main_queue(), ^{
            [webView loadData:data 
                     MIMEType:[response MIMEType] 
             textEncodingName:[response textEncodingName] 
                      baseURL:[request URL]];
        });
    });

    return YES;
}
Kommentar zu dem Problem - Öffnen
Bitte teilen Sie setCurrentReqest Methode. Kommentarautor: sanjeev sharma

InformationsquelleAutor der Frage 0xSina | 2011-12-13

Schreibe einen Kommentar